Shielding Assets
You can shield assets in the MASP by making a transfer from a transparent address to a shielded address. This is known as a shielding transfer.
Assets can also be sent directly to a shielded address through IBC -- see the section on Shielded IBC for details.
Making a shielding transfer
To conduct a shielding transfer, the user must first be in possession of a transparent account with some token balance.
Generate a spending key
See Shielded Key Management for details on how to do this.
Derive a new shielded address (aka: payment address)
You can (and should) derive multiple shielded addresses for the same spending key.
(If needed) submit reveal-pk
transaction for sending address
You can shield from either an implicit or established account. If shielding from an implicit account, your account's public key must first be revealed on-chain. This only needs to be done once per account:
namadac reveal-pk --public-key $IMPLICIT_ACCOUNT_ALIAS
Send your shielding transfer
Use the shield
command to make a shielding transfer from a source transparent (tnam
) address to a target shielded (znam
) address:
namadac shield \
--source $TRANSPARENT_ACCOUNT \
--target $PAYMENT_ADDRESS \
--token $TOKEN \
--amount $AMOUNT
Viewing your balance
To view the up-to-date balance of your spending key (or viewing key), you must first run the shielded-sync
command to
sync the local shielded context with any MASP notes owned by your spending/viewing key.
See how to do this here.
After the sync has completed, check your balance with:
namadac balance --owner $SPENDING_KEY --token $TOKEN
(A viewing key can also be provided here instead of $SPENDING_KEY
)
This will display the combined balance of all shielded addresses associated with that spending/viewing key.