openassets-tapyrus
The implementation of the Open Assets Protocol for Rust.
Examples
tapyrus::TxOut supports marker output.
use ;
use Builder;
use serialize;
use hex_bytes;
use decode as hex_decode;
use ;
let marker_output = TxOut ;
// judge marker output
marker_output.is_openassets_marker;
// get open assets payload
let payload: Payload = marker_output.get_oa_payload.unwrap;
// asset quantities
payload.quantities;
=>
// metadata
payload.metadata.to_string
=> "u=https://cpr.sm/5YgSU1Pg-q"
// encode payload
let metadata = Metadata;
let payload = Payload ;
let serialized_marker: = serialize;
Asset ID calculation.
use FromStr;
use Builder;
use AssetId;
use decode as hex_decode;
let p2pkh = from.into_script;
let asset_id = new;
asset_id.to_string;
=> "ALn3aK1fSuG27N96UGYB1kUYUpGKRhBuBC"
// load from string
from_str;
Open Assets Address
use FromStr;
use ToString;
use OAAddressConverter;
// convert btc address to open assets address
let addr = from_str.unwrap;
addr.to_oa_address.unwrap.to_string;
=> "akQz3f1v9JrnJAeGBC4pNzGNRdWXKan4U6E"
// convert open assets address to btc address
let open_asset_addr = addr.to_oa_address.unwrap;
open_asset_addr.to_btc_addr.unwrap.to_string;
=> "1F2AQr6oqNtcJQ6p9SiCLQTrHuM9en44H8"