Module: Drand
- Defined in:
- lib/drand.rb,
lib/drand/chain.rb,
lib/drand/errors.rb,
lib/drand/version.rb,
lib/drand/verifier.rb,
lib/drand/http_client.rb
Defined Under Namespace
Modules: Verifier Classes: ArgumentError, Chain, Error, HttpClient, NetworkError, RoundError, VerificationError
Constant Summary collapse
- OFFICIAL_ENDPOINTS =
[ "https://api.drand.sh", "https://api2.drand.sh", "https://api3.drand.sh", "https://drand.cloudflare.com" ].freeze
- CHAINS =
{ quicknet: { chain_hash: "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971", genesis_time: 1_692_803_367, period: 3, endpoints: OFFICIAL_ENDPOINTS, scheme: Verifier::UNCHAINED_G1, public_key: "83cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c" \ "8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb" \ "5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a" }, default: { chain_hash: "8990e7a9aaed2ffed73dbd7092123d6f289930540d7651336225dc172e51b2ce", genesis_time: 1_595_431_050, period: 30, endpoints: OFFICIAL_ENDPOINTS, scheme: Verifier::CHAINED_G2, public_key: "868f005eb8e6e4ca0a47c8a77ceaa5309a47978a7c71bc5cce96366b5d7a5699" \ "37c529eeda66c7293784a9402801af31" } }.freeze
- VERSION =
"0.3.0"
Class Method Summary collapse
Class Method Details
.chain(name = :quicknet, base_url: nil, endpoints: nil) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/drand.rb', line 39 def self.chain(name = :quicknet, base_url: nil, endpoints: nil) config = CHAINS[name.to_sym] raise ArgumentError, "unknown chain #{name.inspect}" unless config final_endpoints = if endpoints Array(endpoints) elsif base_url [base_url] else config[:endpoints] end Chain.new( chain_hash: config[:chain_hash], genesis_time: config[:genesis_time], period: config[:period], endpoints: final_endpoints, name: name.to_s, scheme: config[:scheme], public_key: config[:public_key] ) end |