Each Taproot Assets address is identified by its 256-bit key, this means each leaf is one possible account (One leaf contains the account number and the amount this account has). To receive an asset, you need a Taproot Assets address and this address is specific to an asset but also to an amount!
So let’s say, you want to receive 100 units of RoylloCoin. First you will have to retrieve the
royllo genesis_bootstrap_info
(we saw in the previous chapter that this data never changes and contains what we need:
genesis_point
, name
, meta
and outpoint index
).
When you generate this address, you create the merkle tree you expect. This means, the merkle-Sum Sparse Merkle tree that contains a leaf with your account number and the amount you want. After doing this, you tweak a Taproot key with it.
The result of this is a converted to taproot address. And now we wait for an incoming transaction.
You can create your address with this command line:
tapdcli addrs new \
--genesis_bootstrap_info TODO \
--amt 100
You will get this result:
TODO
Field | Description |
---|---|
encoded | The bech32 encoded Taproot Assets address |
asset_id | The asset ID of the asset that the address corresponds to |
family_key | If emission is enabled for an asset, its family key will appear here |
script_key | This key identifies the script that defines how a Taproot Assets asset may be transferred |
internal_key | The key that holds the Taproot asset |
taproot_output_key | The key that is going to hold the Taproot output once it is received |