Ruby wrapper for coloredcoins.org
Add this line to your application's Gemfile:
gem 'coloredcoins'
And then execute:
$ bundle
Or install it yourself as:
$ gem install coloredcoins
Initialize the API
network = Coloredcoins::TESTNET
api_version = 'v3' # defaults to 'v3'
api = Coloredcoins::API.new(network, api_version)You can use any method with the initialized object or simply by calling the method from the
Coloredcoinsmodule.
The default network is MAINNET, use the following to change to TESTNET.
Coloredcoins.network = Coloredcoins::TESTNEThttp://coloredcoins.org/documentation/#IssueAsset
asset = { ... }
response = Coloredcoins.issue_asset(asset)
response[:txHex] # => 0100000001ee58da20e...8ac00000000
response[:assetId] # => LYfzkq2KP6K5rhNR7mE9B6BmhiHTtxvMxYhttp://coloredcoins.org/documentation/#SendAsset
asset = { ... }
response = Coloredcoins.send_asset(asset)
response[:txHex] # => 0100000001ee58da20e...8ac00000000http://coloredcoins.org/documentation/#BroadcastTransaction
publ_keys = [
'03ae3cf1075ab2c7544d973903c089295ab195af63a8f3c168c9b8901b457d9ce2',
'0352f75a371a1331fa51a20b5e6e1e4ab8f86a1f65dd36fe44a9f7ce5d2a706946',
'0330959f464f88f7294cc412a81f72f3cb817a2738a16e187d99b8e78c4ccf9e3b'
]
wif = 'Kz6XuRHniKZfWxSLSC7YdN8AmB6oXaDSfHhxa6TPfwmcAC8URE7b'
transaction = Coloredcoins::MultisigTx.build(tx_hex) do |tx|
tx.m = 2 # 'm' x n Multisig
tx.pub_keys = pub_keys
end
transaction.sign(wif)
# Broadcast returns the broadcasted transaction id
transaction.broadcast # => '98a1ebf2b80eafe4cc58bb01e1eb74a09038e60a67032cacdb3dfb8bf83175de'http://coloredcoins.org/documentation/#GetAddressInfo
Coloredcoins.address_info('n4SKTwh8xxNMSH7uN2xRZym7iXCZNwy8vj')http://coloredcoins.org/documentation/#GetAssetHolders
asset_id = 'LYfzkq2KP6K5rhNR7mE9B6BmhiHTtxvMxY'
num_confirmations = 2 # defaults to 1
response = Coloredcoins.asset_holders(asset_id, num_confirmations)
response[:holders] # [{ address: 'LYfzkq2KP6K5rhNR7mE9B6BmhiHTtxvMxY', amount: 100 }]
response[:divisibility] # 0
response[:lockStatus] # nilhttp://coloredcoins.org/documentation/#GetAssetMetadata
asset_id = 'LYfzkq2KP6K5rhNR7mE9B6BmhiHTtxvMxY'
tx_id = '98a1ebf2b80eafe4cc58bb01e1eb74a09038e60a67032cacdb3dfb8bf83175de'
utxo = tx_id+':1'
Coloredcoins.asset_metadata(asset_id, utxo)- Fork it ( https://github.com/[my-github-username]/coloredcoins/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request