Shielded IBC
You can send assets to another IBC compliant chain, such as a Cosmos SDK chain or another Namada chain, using the
ibc-transfer command in namadac.
This section covers sending assets to and from a shielded ( znam ) address.
Prerequisites
- An active IBC connection has been created and maintained between the two chains by operators running relayer software such as Hermes (opens in a new tab).
- You will need to know the corresponding channel ID.
IBC transfer to a shielded address
First, we need to generate the shielding data with the command:
namadac ibc-gen-shielding \
  --output-folder-path \
  $OUTPUT_FOLDER_PATH \
  --target \
  $RECEIVER \
  --token \
  $TOKEN \
  --amount \
  $AMOUNT \
  --port-id
  $PORT_ID \
  --channel-id \
  $CHANNEL_IDThis command will generate the shielding data in a file inside the provided directory and will output the path to this file, $SHIELDING_DATA_PATH.
After that, IBC transfers to a shielded address work similarly to those for a transparent address,
the only differences being that we provide the MASP internal address as the value instead of $RECV_ADDRESS and we add a --memo arg with the path to the file we have just generated:
gaiad tx ibc-transfer transfer \
  $CHANNEL_ID \
  $MASP_ADDRESS \
  ${AMOUNT}${IBC_TOKEN_ADDRESS} \
  --from $COSMOS_ALIAS \
  --node $COSMOS_RPC_ENDPOINT \
  --fees 5000uatom \
  --memo $SHIELDING_DATA_PATHThe previous command would work even with $RECEIVER_PAYMENT_ADDRESS as the second argument, but it is highly recommended to use $MASP_ADDRESS to preserve privacy.
IBC transfer from a shielded address
You can also send IBC transfers from a shielded address, by providing the associated spending key as the source:
namadac ibc-transfer \
  --source $SOURCE_SPEND_KEY \
  --receiver $RECV_ADDRESS \
  --token $TOKEN \
  --amount $AMOUNT \
  --channel-id $CHANNEL_ID \Gas fees can be paid like all the other transactions either directly from an implicit account adding --gas-payer $IMPLICIT_ADDRESS or via the MASP.
For more information please refer to the fees section.