There is a list of commands to interact with [[token|TOKEN]]:
- [[Node Command - TOKEN LIST|TOKEN LIST]] - lists actual token declarations
- [[Node Command - TOKEN INFO|TOKEN INFO]] - shows actual information about specified token
- [[Node Command - TOKEN DECL|TOKEN DECL]] - creates a token declaration datum and places it in the mempool
- [[Node Command - TOKEN UPDATE|TOKEN UPDATE]] - creates a token-update datum and places it in the mempool
- [[Node Command - TOKEN DECL SIGN|TOKEN DECL SIGN]] - signs a token-declaration datum from the mempool
- [[Node Command - TOKEN UPDATE SIGN|TOKEN UPDATE SIGN]] - signs a token-update datum from the mempool
- [[Node Command - TOKEN EMIT|TOKEN EMIT]] - creates an emission datum and places it in the mempool
- [[Node Command - TOKEN EMIT SIGN|TOKEN EMIT SIGN]] - signs a token-emission datum from the mempool
In the end of the article you can find example of how to declare and update token in the network - [[TOKEN. Node Commands#TOKEN DECLARE AND UPDATE EXAMPLE|TOKEN DECLARE AND UPDATE EXAMPLE]]
A token management manual - [[How to Create and Manage the Token]]
## ![[Node Command - TOKEN LIST]]
## ![[Node Command - TOKEN INFO]]
## ![[Node Command - TOKEN DECL]]
## ![[Node Command - TOKEN UPDATE]]
## ![[Node Command - TOKEN DECL SIGN]]
## ![[Node Command - TOKEN UPDATE SIGN]]
## ![[Node Command - TOKEN EMIT]]
## ![[Node Command - TOKEN EMIT SIGN]]
## TOKEN DECLARE AND UPDATE EXAMPLE
1. Declare token from the root "0"
`Request:`
```actionscript
cellframe-node-cli token_decl
-net foobar
-chain zerochain
-token ABC
-type CF20
-total_supply 1000000
-signs_total 3
-signs_emission 3
-decimals 18
-certs foobar.root.pvt.0
```
`Response:`
```actionscript
Datum 0x5E59C7D121B5D481843C0D7E3868A8BC535B4B0E04E6456F157E3739F094322C with token ABC is placed in datum pool
```
2. Sign datum on the root "1"
`Request:`
```actionscript
cellframe-node-cli token_decl_sign
-net foobar
-chain zerochain
-datum 0x5E59C7D121B5D481843C0D7E3868A8BC535B4B0E04E6456F157E3739F094322C
-certs foobar.root.pvt.1
```
`Response:`
```actionscript
datum 0x6C9F326837C501247080FB37A2B324068D518E3904981B1AC2EC22CE91FE2BBF is replacing the 0x5E59C7D121B5D481843C0D7E3868A8BC535B4B0E04E6456F157E3739F094322C in datum pool
```
3. Sign datum on the root "2"
`Request:`
```actionscript
cellframe-node-cli token_decl_sign
-net foobar
-chain zerochain
-datum 0x6C9F326837C501247080FB37A2B324068D518E3904981B1AC2EC22CE91FE2BBF
-certs foobar.root.pvt.2
```
`Response:`
```actionscript
datum 0xA5BAE1C2B69C87599A43E6AB435A2D2C7443DCC1A8B7D0E5A09C8EFDF8AFA69F is replacing the 0x6C9F326837C501247080FB37A2B324068D518E3904981B1AC2EC22CE91FE2BBF in datum pool
```
How datum with 3 signatures looks like in the mempool:
`Example:`
```actionscript
hash: 0xA5BAE1C2B69C87599A43E6AB435A2D2C7443DCC1A8B7D0E5A09C8EFDF8AFA69F
type: DATUM_TOKEN_DECL
created:
time_stamp: 1713972877
str: Wed, 24 Apr 2024 15:34:37 +0000
data:
version: 2
type: DAP_CHAIN_DATUM_TOKEN_TYPE_DECL
subtype: DAP_CHAIN_DATUM_TOKEN_SUBTYPE_NATIVE
header:
flags: NO_FLAGS
decimals: 18
ticker: ABC
signs_valid: 3
signs_total: 3
signs:
type: sig_dil
pkeyHash: 0x77813A4C341921F581856A40BD3415B0A9B032906ADF486E5421A6D49E0AC9D2
signPkeySize: 1196
signSize: 2096
type: sig_dil
pkeyHash: 0x38171CF9FA100D0ECB14F545E582E107F8482BEFF44E3BA1D781E1BAC5175360
signPkeySize: 1196
signSize: 2096
type: sig_dil
pkeyHash: 0x279B798F32C2610C07047244E1ACB354FF58D43B6D0809C16777988E0446AF7E
signPkeySize: 1196
signSize: 2096
TSD:
```
4. Process the `mempool_proc` command on any root which was participated in datum signing to make datum pass to zerochain (and become event).
`Request:`
```actionscript
cellframe-node-cli mempool_proc
-net foobar
-chain zerochain
-datum 0xA5BAE1C2B69C87599A43E6AB435A2D2C7443DCC1A8B7D0E5A09C8EFDF8AFA69F
```
`Response:`
```actionscript
datum:
hash: 0xA5BAE1C2B69C87599A43E6AB435A2D2C7443DCC1A8B7D0E5A09C8EFDF8AFA69F
type: DATUM_TOKEN_DECL
ts_created:
time_stamp: 1713972877
str: Wed Apr 24 15:34:37 2024
data_size: 10226
verify:
isProcessed: true
notice: Removed datum from mempool.
```
Here is a command to watch how declared token looks like:
`Request:`
```actionscript
cellframe-node-cli token info
-net foobar
-name ABC
```
`Response:`
```actionscript
=== Datum Token Declaration ===
hash: 0xA5BAE1C2B69C87599A43E6AB435A2D2C7443DCC1A8B7D0E5A09C8EFDF8AFA69F
ticker: ABC
size: 10226
version: 2
type: DECL
subtype: CF20
decimals: 18
auth signs (valid/total) 3/3
total_supply: 1000000
flags: NONE
signatures:
1) 0x77813A4C341921F581856A40BD3415B0A9B032906ADF486E5421A6D49E0AC9D2, sig_dil, 2096 bytes
2) 0x38171CF9FA100D0ECB14F545E582E107F8482BEFF44E3BA1D781E1BAC5175360, sig_dil, 2096 bytes
3) 0x279B798F32C2610C07047244E1ACB354FF58D43B6D0809C16777988E0446AF7E, sig_dil, 2096 bytes
```
5. Token update command is used (in this case it updates information in `total supply`)
`Request:`
```actionscript
cellframe-node-cli token_update
-net foobar
-chain zerochain
-token ABC
-type CF20
-total_supply 0
-decimals 18
-signs_total 3
-signs_emission 3
-certs foobar.root.pvt.0
```
`Response:`
```actionscript
Datum 0x44BF3AC31BA5030DB7E480E0F9037E3B8113A6A71EC1101D26F013CAD358D865 with 256bit token ABC is placed in datum pool
```
6. Sign updated token on the root "1"
`Request:`
```actionscript
cellframe-node-cli token_update_sign
-net foobar
-chain zerochain
-datum 0x44BF3AC31BA5030DB7E480E0F9037E3B8113A6A71EC1101D26F013CAD358D865
-certs foobar.root.pvt.1
```
`Response:`
```actionscript
datum 0xF064FE54A100973F11BE473D56883D76EF7621F7EFEC446620BA70621FA1E921 is replacing the 0x44BF3AC31BA5030DB7E480E0F9037E3B8113A6A71EC1101D26F013CAD358D865 in datum pool
```
7. Sign updated token on the root "2"
`Request:`
```actionscript
cellframe-node-cli token_update_sign
-net foobar
-chain zerochain
-datum 0xF064FE54A100973F11BE473D56883D76EF7621F7EFEC446620BA70621FA1E921
-certs foobar.root.pvt.2
```
`Response:`
```actionscript
datum 0xCE6ED998BDC1CA2D55053C3333395C9F5A7E92B9B6382083536C705ABD77627A is replacing the 0xF064FE54A100973F11BE473D56883D76EF7621F7EFEC446620BA70621FA1E921 in datum pool
```
This is how token update looks in the mempool:
`Example:`
```actionscript
hash: 0xCE6ED998BDC1CA2D55053C3333395C9F5A7E92B9B6382083536C705ABD77627A
type: DATUM_TOKEN_DECL
created:
time_stamp: 1713973137
str: Wed, 24 Apr 2024 15:38:57 +0000
data:
version: 2
type: DAP_CHAIN_DATUM_TOKEN_TYPE_UPDATE
subtype: DAP_CHAIN_DATUM_TOKEN_SUBTYPE_NATIVE
header:
flags: NO_FLAGS
decimals: 18
ticker: ABC
signs_valid: 3
signs_total: 3
signs:
type: sig_dil
pkeyHash: 0x77813A4C341921F581856A40BD3415B0A9B032906ADF486E5421A6D49E0AC9D2
signPkeySize: 1196
signSize: 2096
type: sig_dil
pkeyHash: 0x38171CF9FA100D0ECB14F545E582E107F8482BEFF44E3BA1D781E1BAC5175360
signPkeySize: 1196
signSize: 2096
type: sig_dil
pkeyHash: 0x279B798F32C2610C07047244E1ACB354FF58D43B6D0809C16777988E0446AF7E
signPkeySize: 1196
signSize: 2096
TSD:
```
8. Process `mempool_proc` again
`Request:`
```actionscript
cellframe-node-cli mempool_proc
-net foobar
-chain zerochain
-datum 0xCE6ED998BDC1CA2D55053C3333395C9F5A7E92B9B6382083536C705ABD77627A
```
`Response:`
```actionscript
datum:
hash: 0xCE6ED998BDC1CA2D55053C3333395C9F5A7E92B9B6382083536C705ABD77627A
type: DATUM_TOKEN_DECL
ts_created:
time_stamp: 1713973137
str: Wed Apr 24 15:38:57 2024
data_size: 10226
verify:
isProcessed: true
notice: Removed datum from mempool.
```
Now `token info` command displays also an updated datum additionally to token declaration datum:
`Request:`
```actionscript
cellframe-node-cli token info -net foobar -name ABC
```
`Response:`
```actionscript
=== Datum Token Declaration ===
hash: 0xA5BAE1C2B69C87599A43E6AB435A2D2C7443DCC1A8B7D0E5A09C8EFDF8AFA69F
ticker: ABC
size: 10226
version: 2
type: DECL
subtype: CF20
decimals: 18
auth signs (valid/total) 3/3
total_supply: 1000000
flags: NONE
signatures:
1) 0x77813A4C341921F581856A40BD3415B0A9B032906ADF486E5421A6D49E0AC9D2, sig_dil, 2096 bytes
2) 0x38171CF9FA100D0ECB14F545E582E107F8482BEFF44E3BA1D781E1BAC5175360, sig_dil, 2096 bytes
3) 0x279B798F32C2610C07047244E1ACB354FF58D43B6D0809C16777988E0446AF7E, sig_dil, 2096 bytes
=== Datum Token Declaration ===
hash: 0xCE6ED998BDC1CA2D55053C3333395C9F5A7E92B9B6382083536C705ABD77627A
ticker: ABC
size: 10226
version: 2
type: UPDATE
subtype: CF20
decimals: 18
auth signs (valid/total) 3/3
total_supply: 0
flags: NONE
signatures:
1) 0x77813A4C341921F581856A40BD3415B0A9B032906ADF486E5421A6D49E0AC9D2, sig_dil, 2096 bytes
2) 0x38171CF9FA100D0ECB14F545E582E107F8482BEFF44E3BA1D781E1BAC5175360, sig_dil, 2096 bytes
3) 0x279B798F32C2610C07047244E1ACB354FF58D43B6D0809C16777988E0446AF7E, sig_dil, 2096 bytes
```