A Ruby gem that wraps the Cardano SL Explorer API. At the moment, you can retrieve summary information on addresses, transactions, and blocks.
Author: Philip Q Nguyen
Copyright: Copyright (c) 2018 Philip Q Nguyen
License: MIT
Info: https://github.com/philipqnguyen/cardano_explorer
Bugs: https://github.com/philipqnguyen/cardano_explorer/issues
If this is useful to you, consider donating Cardano to:
DdzFFzCqrhspCkE7nghFTDKLuVqwXEzYkqzTaZLCZbrKKQEs3Ygy4f6BeP4U6SPLh8yPU4PFpGoBdZejjKG3ksigtkcirrpZusiwzvBy
Run gem install cardano_explorer
Inside your Gemfile add:
# Gemfile
gem 'cardano_explorer'
Then run bundle install
Find a summary detailing the balance of an Address along with other info.
address_id = 'Ae2tdPwUPEZKmwoy3AU3cXb5Chnasj6mvVNxV1H11997q3VW5ihbSfQwGpm'
address = CardanoExplorer::Address.find address_id
address.summary #=>
# {
# {
# "caAddress"=>"Ae2tdPwUPEZKmwoy3AU3cXb5Chnasj6mvVNxV1H11997q3VW5ihbSfQwGpm",
# "caType"=>"CPubKeyAddress",
# "caTxNum"=>0,
# "caBalance"=>{"getCoin"=>"0"},
# "caTxList"=>[]
# }
# }
Find a summary of a Transaction.
transaction_id = '7012fcaabcbc1be16afdaf754125c93e9216058321d4777c13c251d0cb5067fa'
transaction = CardanoExplorer::Transaction.find transaction_id
transaction.summary #=>
# {
# "ctsId" => "7012fcaabcbc1be16afdaf754125c93e9216058321d4777c13c251d0cb5067fa",
# "ctsTxTimeIssued" => 1515795491,
# "ctsBlockTimeIssued" => 1515795491,
# "ctsBlockHeight" => 479560,
# "ctsBlockEpoch" => 22,
# "ctsBlockSlot" => 4420,
# "ctsBlockHash" => "c9b5db7073b66c19b11549474539578ace4b087a9f80f3a7663e40ffa9795656",
# "ctsRelayedBy" => nil,
# "ctsTotalInput" => {
# "getCoin" => "309998772700"
# },
# "ctsTotalOutput" => {
# "getCoin" => "309998601630"
# },
# "ctsFees" => {
# "getCoin" => "171070"
# },
# "ctsInputs" => [
# [
# "DdzFFzCqrht7nTVwRaq3p5xxhY8bSWPADVi2SrdVdCogncJgEPdMt1w64aujDBZb6P8G7VaqP5zFJx5iiCkYggaF8v8YRyWujTaEFDrK",
# {
# "getCoin" => "309998772700"
# }
# ]
# ],
# "ctsOutputs" => [
# [
# "DdzFFzCqrhtDEqHLUE6NLxTqQvB5Wh8bcCoUjNUxYbvo3zR8fQBvDU6Q8HNJENAqMvCdCYzbWEgiJ1ijWDYfNGL7fo7ayutic3x4hyrE",
# {
# "getCoin" => "308997601630"
# }
# ],
# [
# "DdzFFzCqrhsnLSqJSwcxFM6CndnsUYESBoXkr8zrTqjXq4uzaeh6spni6bUbZXLAHBjbfCh9YzJN7xyHUV4XTqkg9ivP5NURE9kHF9U6",
# {
# "getCoin" => "1001000000"
# }
# ]
# ]
# }
Get the latest transactions.
CardanoExplorer::Transaction.latest #=>
# [
# #<CardanoExplorer::Transaction:0x00000001b39808 @hash="d5a71c0a0e59d57d17c2e3466447fdd58e312dd99c0e3d07682b9796ce7aec69">,
# #<CardanoExplorer::Transaction:0x00000001b397e0 @hash="fb91a2d4943e70cd85c65d036962ba915544a5d963d26f4cd3ea8d9eb55d3040">,
# ...
# ]
Each of these is an instance of CardanoExplorer::Transaction
with its methods.
transactions = CardanoExplorer::Transaction.latest
transactions.first.summary #=>
# {
# "ctsId" => "7012fcaabcbc1be16afdaf754125c93e9216058321d4777c13c251d0cb5067fa",
# "ctsTxTimeIssued" => 1515795491,
# "ctsBlockTimeIssued" => 1515795491,
# ...
# }
Find a summary of a Block.
block_id = 'd3fdc8c8ea4050cc87a21cb73110d54e3ec92f8ae76941e8a1957ed6e6a7e0b0'
block = CardanoExplorer::Block.find block_id
block.summary #=>
# {
# 'cbsEntry' => {
# 'cbeEpoch' => 0,
# 'cbeSlot' => 29,
# 'cbeBlkHash' => 'd3fdc8c8ea4050cc87a21cb73110d54e3ec92f8ae76941e8a1957ed6e6a7e0b0',
# 'cbeTimeIssued' => 1506203671,
# 'cbeTxNum' => 0,
# 'cbeTotalSent' => {
# 'getCoin' => '0'
# },
# 'cbeSize' => 667,
# 'cbeBlockLead' => '6c9e14978b9d6629b8703f4f25e9df6ed4814b930b8403b0d45350ea',
# 'cbeFees' => {
# 'getCoin' => '0'
# }
# },
# 'cbsPrevHash' => '35837ea76e42d5f0bc3309127c9deb92e87d449ffc7d864d5eee3cbd63b2574a',
# 'cbsNextHash' => 'bfd2d6b38a6e16e5710d5e6eedefaf30fe7e15753a4cb9e8da95d0a9b10525c5',
# 'cbsMerkleRoot' => '0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8'
# }
Get a summary of the genesis block
genesis = CardanoExplorer::Genesis.new
genesis.summary #=>
# {
# 'cgsNumTotal' => 14505,
# 'cgsNumRedeemed' => 12535,
# 'cgsNumNotRedeemed' => 1970,
# 'cgsRedeemedAmountTotal' => {
# 'getCoin' => '29083491488000000'
# },
# 'cgsNonRedeemedAmountTotal' => {
# 'getCoin' => '2028993257000000'
# }
Get the total pages of the genesis block
genesis = CardanoExplorer::Genesis.new
genesis.pages_total #=> 1451
Denominations: The quantity of ADA coins is in denominations of Lovelaces. 1 ADA == 1,000,000 Lovelaces. Learn more about denominations here: https://cardanodocs.com/cardano/monetary-policy/#treasury-and-fees
You can change the root url like so:
CardanoExplorer.configuration do |config|
config.root_url = 'https://cardanoexplorer.com' # This is the default
end
Issues and pull requests are welcome on GitHub at https://github.com/philipqnguyen/cardano_explorer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
After checking out the repo, run bundle install
to install dependencies. Then, run bundle exec rake
to run the tests. You can also run bundle console
for an interactive prompt that will allow you to experiment.
To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
The gem is available as open source under the terms of the MIT License.