Plutus Docs
  • Introduction
  • Basic Stellar Fundamentals
    • 💡Account Creation
    • ✨Transaction Lifecycle
  • Product Guides
    • 📪Stellar NFT Minting Guide
    • 📦Wrap Tokens
    • ☝️Token Contract Interaction
    • 📎Rental Smart Contract Interaction Guide
Powered by GitBook
On this page
  1. Product Guides

Token Contract Interaction

PreviousWrap TokensNextRental Smart Contract Interaction Guide

Last updated 1 year ago

For the token contract interaction, you first need to clone the following repository: and build the token project. This will generate a soroban_token_contract.wasm file which we can deploy to interact with the token contract.

Deploy:

This deploys the token contract to the futurenet. You will receive a contract ID (TOKEN_CONTRACT_ID).

soroban contract deploy \
    --wasm target/wasm32-unknown-unknown/release/soroban_token_contract.wasm \
    --rpc-url https://rpc-futurenet.stellar.org:443 \
    --network-passphrase 'Test SDF Future Network ; October 2022'

Check Balance:

You can check the balance of any USER_ADDRESS with the following command:

soroban contract invoke \
      --wasm target/wasm32-unknown-unknown/release/soroban_token_contract.wasm \
      --id ${TOKEN_CONTRACT_ID} \
      --rpc-url https://rpc-futurenet.stellar.org:443 \
      --network-passphrase 'Test SDF Future Network ; October 2022' \
      -- balance --id ${USER_ADDRESS}

Make Admin:

An existing admin can promote any USER_ADDRESS to admin status using the following command:

soroban contract invoke \
      --wasm target/wasm32-unknown-unknown/release/soroban_token_contract.wasm \
      --id ${TOKEN_CONTRACT_ID} \
      --source ${ADMIN_SECRET_KEY} \
      --rpc-url https://rpc-futurenet.stellar.org:443 \
      --network-passphrase 'Test SDF Future Network ; October 2022' \
      -- set_admin --new_admin ${USER_ADDRESS}

Check Authorization:

You can check if USER_ADDRESS is authorized to spend their balance with the following command:

soroban contract invoke \
      --wasm target/wasm32-unknown-unknown/release/soroban_token_contract.wasm \
      --id ${TOKEN_CONTRACT_ID} \
      --rpc-url https://rpc-futurenet.stellar.org:443 \
      --network-passphrase 'Test SDF Future Network ; October 2022' \
      -- authorized --id ${USER_ADDRESS}

Change Authorization:

An admin can authorize any USER_ADDRESS to spend their balance with the following command:

soroban contract invoke \
      --wasm target/wasm32-unknown-unknown/release/soroban_token_contract.wasm \
      --id ${TOKEN_CONTRACT_ID} \
      --source ${ADMIN_SECRET_KEY} \
      --rpc-url https://rpc-futurenet.stellar.org:443 \
      --network-passphrase 'Test SDF Future Network ; October 2022' \
      -- set_authorized --id ${USER_ADDRESS} -authorize

Remember to replace ${TOKEN_CONTRACT_ID}, ${USER_ADDRESS}, and ${ADMIN_SECRET_KEY} with actual values in your environment.

☝️
https://github.com/stellar/soroban-examples/