Sha256: ad0646930397de75f86e7934972021dd99557eea56650a909fe6f5f0e4162fbd
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
require "chainpoint/version" require "net/https" require "json" require "digest" module Chainpoint def self.pickup_server() uri = URI(pickup_node_list_server) r = Net::HTTP.get(uri) j = JSON.parse(r) return j[rand(j.length)]["public_uri"] end def self.submit_data(data) hash = Digest::SHA256.digest(data).unpack('H*')[0] return submit(hash) end def self.submit(hash) uri = URI(pickup_server + "/hashes") req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json') req.body = {hashes: [hash]}.to_json res = Net::HTTP.start( uri.hostname, uri.port, use_ssl: uri.scheme == "https" ) do |http| http.request(req) end return JSON.parse(res.body) end def self.get_proof(hash_id_node) uri = URI(pickup_server + '/proofs/' + hash_id_node) r = Net::HTTP.get(uri) return JSON.parse(r) end def self.verify(proof) uri = URI(pickup_server + "/verify") req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json') req.body = {proofs: [proof]}.to_json res = Net::HTTP.start( uri.hostname, uri.port, use_ssl: uri.scheme == "https" ) do |http| http.request(req) end return JSON.parse(res.body) end private def self.pickup_node_list_server endpoint_array = [ 'https://a.chainpoint.org/nodes/random', 'https://b.chainpoint.org/nodes/random', 'https://c.chainpoint.org/nodes/random' ] return endpoint_array[rand(endpoint_array.length)] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
chainpoint-0.0.1 | lib/chainpoint.rb |