64 lines
2.1 KiB
Markdown
64 lines
2.1 KiB
Markdown
|
# Nitro Token Ops
|
||
|
|
||
|
## Setup
|
||
|
|
||
|
* Go to the directory where `nitro-contracts-deployment` is present:
|
||
|
|
||
|
```bash
|
||
|
cd /srv/bridge
|
||
|
```
|
||
|
|
||
|
## Deploy new token
|
||
|
|
||
|
* To deploy another token:
|
||
|
|
||
|
```bash
|
||
|
# These values can be changed to deploy another token with different name and symbol
|
||
|
export TOKEN_NAME="TestToken2"
|
||
|
export TOKEN_SYMBOL="TST2"
|
||
|
|
||
|
# Note: Token supply denotes actual number of tokens and not the supply in Wei
|
||
|
export INITIAL_TOKEN_SUPPLY="129600"
|
||
|
|
||
|
laconic-so deployment --dir nitro-contracts-deployment exec nitro-contracts "TOKEN_NAME=$TOKEN_NAME TOKEN_SYMBOL=$TOKEN_SYMBOL INITIAL_TOKEN_SUPPLY=$INITIAL_TOKEN_SUPPLY /app/deploy-l1-tokens.sh"
|
||
|
```
|
||
|
|
||
|
* Recreate `assets.json` to include newly deployed token address:
|
||
|
|
||
|
```bash
|
||
|
export GETH_CHAIN_ID="1212"
|
||
|
|
||
|
laconic-so deployment --dir nitro-contracts-deployment exec nitro-contracts "jq --arg chainId \"$GETH_CHAIN_ID\" '{
|
||
|
(\$chainId): [
|
||
|
{
|
||
|
\"name\": .[\$chainId][0].name,
|
||
|
\"chainId\": .[\$chainId][0].chainId,
|
||
|
\"contracts\": (
|
||
|
.[\$chainId][0].contracts
|
||
|
| to_entries
|
||
|
| map(select(.key | in({\"ConsensusApp\":1, \"NitroAdjudicator\":1, \"VirtualPaymentApp\":1}) | not))
|
||
|
| from_entries
|
||
|
)
|
||
|
}
|
||
|
]
|
||
|
}' /app/deployment/nitro-addresses.json" > assets.json
|
||
|
```
|
||
|
|
||
|
* The required config file should be generated at `/srv/bridge/assets.json`
|
||
|
|
||
|
* Check in the generated file at location `ops/stage2/assets.json` within this repository
|
||
|
|
||
|
## Transfer deployed tokens to given address
|
||
|
|
||
|
* To transfer a token to an account:
|
||
|
|
||
|
```bash
|
||
|
export GETH_CHAIN_ID=1212
|
||
|
export TOKEN_NAME="<name-of-token-to-be-transferred>"
|
||
|
export ASSET_ADDRESS=$(laconic-so deployment --dir nitro-contracts-deployment exec nitro-contracts "jq -r '.\"$GETH_CHAIN_ID\"[0].contracts.$TOKEN_NAME.address' /app/deployment/nitro-addresses.json")
|
||
|
export ACCOUNT="<target-account-address>"
|
||
|
export AMOUNT="<transfer-amount>"
|
||
|
|
||
|
laconic-so deployment --dir nitro-contracts-deployment exec nitro-contracts "cd packages/nitro-protocol && yarn hardhat transfer --contract $ASSET_ADDRESS --to $ACCOUNT --amount 1000 --network geth"
|
||
|
```
|