Sub-commands and Arguments¶
Common arguments to all sub-commands:
-q
or--quiet
Set verbosity level to 0--switch STRING
Set switch-v
or--verbose
Increase verbosity level
Overview of sub-commands:
account copy from
Copy accounts from another switch to the current one
account create
Create new accounts in the wallet
account history
Get account info (local or from blockchain).
account info
Get account info (local or from blockchain).
account list
List all known accounts in the current switch
account remove
Delete accounts from the wallet
account rename
This command renames accounts in the wallet
account set
Modify the information associated with accounts in the wallet
account state
Get account info (local or from blockchain).
account whois
Find accounts matching a string
call
Call contracts
client
Call tonos-cli, use -- to separate arguments. Use 'ft exec -- CMD ARGS' for other commands.
config
Modify configuration
contract abi
Print contract ABI
contract abi impl
Generate an implementation source file from a contract ABI
contract abi intf
Generate an interface source file from a contract ABI
contract build
Build a contract
contract deploy
Deploy contracts
contract import
Import a contract
contract list
List known contracts
contract new
Generate a new contract source file
contract new interface
Generate a new contract interface source file
crawler
Crawl all transactions to an address and fill a psql database
debot fetch
Call tonos-cli fetch DEBOT
debot new
Create a debot
doc
Display useful documentation files (stored in ~/.ft/doc/)
doc list
List useful documentation files stored in ~/.ft/doc/
exec
Call command with substitution on arguments, use -- before the command.
init
Initialize with TON Labs binary tools, compiled from sources.
inspect
Inspect information stored on the blockchain: display information on accounts, blocks, messages and transactions.
multisig confirm transaction
Confirm transactions on a multisig-wallet
multisig confirm update
Confirm updates on a multisig-wallet
multisig create
Manage a multisig-wallet (create, confirm, send)
multisig debot
Executes the multisig debot
multisig execute update
Update a multisig wallet with setcode
multisig info
Display info on a multisig wallet
multisig list custodians
List owners/custodians of a multisig wallet
multisig list transactions
Display waiting transactions in a multisig wallet
multisig list updates
Display waiting transactions in a multisig wallet
multisig new
Create an independant multisig-wallet, similarly to 'multisig create', but not owner and perform crediting
multisig transfer
Transfer TONs from a multisig wallet to another account
multisig update
Update a multisig wallet with setcode
node give
Give TONs to accounts on sandbox networks
node live
Open Node Live block explorer webpage
node start
Start the node of a local sandbox switch
node stop
Stop the local node of a sandbox switch
node update
Update Docker image of TONOS SE for new features. You must recreate sandbox switches to benefit from the new image.
node web
Open Node GraphQL webpage
output
Perform substitutions on the output
print error
Display error codes
switch config
Modify configuration
switch create
Create a new switch for an existing network, or create a sandbox local network
switch list
List the current switches/networks
switch remove
Remove a network configurations/switches
switch to
Switch to another network/switch
test
For testing only
token list
Display token wallet info
token swap
Swap tokens in DEX
token transfer
Transfer tokens between two token wallets
token wton
Display token wallet info
token wton credit
Display token wallet info
token wton withdraw
Display token wallet info
utils
Some useful tools
watch
Monitor a given account for new transactions.
ft account copy from¶
Copy accounts from another switch to the current one
DESCRIPTION
This command copies accounts from another switch to the current one
Examples:
ft account copy mainnet my-account
ft --switch testnet account copy my-account
USAGE
ft account copy from SWITCH ACCOUNTS [OPTIONS]
Where options are:
SWITCH ACCOUNTS
Switch name and accounts--prefix PREFIX
Prefix created accounts by PREFIX--rename ACCOUNT
New name of account
ft account create¶
Create new accounts in the wallet
DESCRIPTION
This command creates new accounts in the wallet
Examples:
ft account create account1 account2 account3
ft account create new-account --passphrase "some known passphrase" --contract SetcodeMultisigWallet2
ft account create new-address --address 0:1234... --surf
The accounts are created in the wallet, not in the blockchain. To create accounts on the blockchain, you need to transfer funds to the account address and deploy a contract (for example, with ‘ft multisig create’)
USAGE
ft account create ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
Name of account--address ADDRESS
Address for account--contract CONTRACT
Contract for account--force
or-f
Override existing contracts with –create--keyfile KEYFILE
Key file for account--multisig
Contract should be multisig--passphrase PASSPHRASE
BIP39 Passphrase for account--pubkey 0xPUBKEY
Public Key for account--static-vars JSON
Set static vars for account--surf
Contract should be TON Surf contract--wc WORKCHAIN
The workchain (default is 0)
ft account history¶
Get account info (local or from blockchain).
DESCRIPTION
This command displays the history of the given account
USAGE
ft account history ARGUMENT [OPTIONS]
Where options are:
ARGUMENT
Address of account--limit NUM
Limit the number of results to NUM
ft account info¶
Get account info (local or from blockchain).
DESCRIPTION
This command displays information on given accounts, either locally or from the blockchain
Examples:
ft account info MY-ACCOUNT
USAGE
ft account info ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
Name of account-S
or--secrets
Print passphrase and secret key (default with –json)--json
Print in json format
ft account list¶
List all known accounts in the current switch
DESCRIPTION
This command lists all known accounts in the wallet.
Examples:
ft account list
pass: passphrase known
secr: secret key known
pk: public key
ad: address known
USAGE
ft account list [OPTIONS]
Where options are:
ft account remove¶
Delete accounts from the wallet
DESCRIPTION
This command deletes known accounts from the wallet.
Examples:
ft account remove account1 account2
USAGE
ft account remove ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
Name of account
ft account rename¶
This command renames accounts in the wallet
DESCRIPTION
This command renames accounts in the wallet
Examples:
ft account rename old-name new-name
ft account rename test1 test2 test3 --prefix old-
USAGE
ft account rename ACCOUNTS [OPTIONS]
Where options are:
ACCOUNTS
Source and Destination accounts--prefix PREFIX
Prefix provided accounts by PREFIX
ft account set¶
Modify the information associated with accounts in the wallet
DESCRIPTION
This command adds information to existing accounts in the wallet
Examples:
ft account set old-account --contract SafeMultisigWallet
USAGE
ft account set ARGUMENT [OPTIONS]
Where options are:
ARGUMENT
Name of account--address ADDRESS
Address for account--contract CONTRACT
Contract for account--keyfile KEYFILE
Key file for account--multisig
Contract should be multisig--passphrase PASSPHRASE
BIP39 Passphrase for account--static-vars JSON
Set static vars for account--surf
Contract should be TON Surf contract--wc WORKCHAIN
The workchain (default is 0)
ft account state¶
Get account info (local or from blockchain).
DESCRIPTION
This command displays the current states of the given accounts from the blockchain
Examples:
ft account state MY-ACCOUNT
ft account state MY-ACCOUNT -v
USAGE
ft account state ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
Name of account--live
Open block explorer on address
ft account whois¶
Find accounts matching a string
DESCRIPTION
This command searches existing accounts for a field matching the string
Examples:
ft account whois 1234
ft account whois 0:1234
ft account whois setcode
USAGE
ft account whois ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
Name of account
ft call¶
Call contracts
DESCRIPTION
Call a method of a deployed contract. Use –local or –run to run the contract locally (only for get methods). If the params are not specified, {} is used instead. The message is signed if the –sign SIGNER argument is provided, or if the secret key of the account is known.
Examples:
$ ft call giver sendGrams
'{ "dest":"%{account:address:user1}", "amount":"1000000000000"}'
$ ft --switch mainnet call msig confirmUpdate
'{ "updateId": "0x6092b3ee656aaa81" }' --sign mywallet
USAGE
ft call ACCOUNT METH [JSON_PARAMS] [OPTIONS]
Where options are:
ACCOUNT METH [JSON_PARAMS]
arguments-o FILE
or--output FILE
Save result to FILE (use - for stdout)--run
or--local
Run locally--sign ACCOUNT
Sign message with account--subst FILE
Read FILE and substitute results in the content--wait
Wait for all transactions to finish
ft client¶
Call tonos-cli, use – to separate arguments. Use ‘ft exec – CMD ARGS’ for other commands.
DESCRIPTION
This command calls the tonos-cli executable while performing substitutions on arguments, and using the node of the current network switch. It is useful for commands that ‘ft’ cannot perform directly (calling debots for example).
‘ft’ uses the executable stored in $HOME/.ft/bin/tonos-cli. To create this executable, use:
$ ft init
or:
$ ft init --client
The available substitutions on the arguments can be listed using:
$ ft output --list-subst
For example, to substitute the address of the account ‘multisig-debot’:
$ ft client -- debot fetch %{account:address:multisig-debot}
Note that it is also possible to ask ‘ft’ to call ‘tonos-cli’ instead of performing calls through TON-SDK Rust binding for other commands, using the FT_USE_TONOS=1 env. variable.
USAGE
ft client -- ARGUMENTS [OPTIONS]
Where options are:
-- ARGUMENTS
Arguments to tonos-cli--exec
(deprecated, use ‘ft exec – COMMAND’ instead)--stdout FILE
Save command stdout to file
ft config¶
Modify configuration
DESCRIPTION
Change the global configuration or the network configuration.
USAGE
ft config [OPTIONS]
Where options are:
--add-multisig CONTRACT
Add a new multisig contract name--client-repo GIT_URL
The URL of the GIT repo of tonos-cli for ft init--deployer ACCOUNT
DEPRECATED. Use ft switch config –deployer instead.--linker-repo GIT_URL
The URL of the GIT repo of TVM-linker for ft init--solc-repo GIT_URL
The URL of the GIT repo of TON-Solidity-Compiler for ft init
ft contract abi¶
Print contract ABI
DESCRIPTION
This command shows a human readable version of contract ABI
USAGE
ft contract abi CONTRACT [OPTIONS]
Where options are:
CONTRACT
Name of contract to build
ft contract abi impl¶
Generate an implementation source file from a contract ABI
DESCRIPTION
This command generates an implementation source file xfrom a contract ABI
USAGE
ft contract abi impl CONTRACT [OPTIONS]
Where options are:
CONTRACT
Name of contract to build
ft contract abi intf¶
Generate an interface source file from a contract ABI
DESCRIPTION
This command generates an interface source file from a contract ABI
USAGE
ft contract abi intf CONTRACT [OPTIONS]
Where options are:
CONTRACT
Name of contract to build
ft contract build¶
Build a contract
DESCRIPTION
This command builds a Solidity contract and store it in the contract database
Example:
ft contract build Foobar.sol
After this command, the contract will be known as ‘Foobar’ in the contract database
USAGE
ft contract build FILENAME [OPTIONS]
Where options are:
FILENAME
Build this contract and remember it--contract CONTRACT
Name of contract to build--force
or-f
Override existing contracts--solidity-version VERSION
Version of Solidity (e.g. 47)
ft contract deploy¶
Deploy contracts
DESCRIPTION
This command deploys a known contract to the blockchain
Examples:
ft contract deploy Foobar
Create an account ‘Foobar’, deploy a contract ‘Foobar’ to it.
ft contract deploy Foobar --create foo
Create an account ‘foo’, deploy a contract ‘Foobar’ to it.
ft contract deploy Foobar --replace foo
Delete account ‘foo’, recreate it and deploy a contract ‘Foobar’ to it.
ft contract deploy Foobar --create foo --sign admin
Create an empty account ‘foo’, deploy a contract ‘Foobar’ to it, using the keypair from ‘admin’.
ft contract deploy Foobar --dst foo
Deploy a contract ‘Foobar’ an existing account ‘foo’ using its keypair.
With –create and –replace, 1 TON is transferred to the initial account using a ‘deployer’ multisig account. The deployer account can either be set switch wide (ft config –deployer ‘account’) or in the deploy command (using the –deployer ‘account’ argument)
USAGE
ft contract deploy CONTRACT PARAMS [OPTIONS]
Where options are:
CONTRACT
Deploy contract CONTRACTPARAMS
Constructor/call Arguments ({} by default)--create ACCOUNT
Create ACCOUNT by deploying contract (with –deploy)--credit TONS
Initial credit of the account by the deployer--deployer ACCOUNT
Deployer is this account (pays creation fees)--dst ACCOUNT
Deploy to this account, using the existing keypair--force
or-f
Override existing contracts--params PARAMS
Constructor/call Arguments ({} by default)--pubkey PUBKEY
Set initial pubkey of tvm image (hexa without 0x)--replace ACCOUNT
Replace ACCOUNT when deploying contract (with –deploy)--sign ACCOUNT
Deploy using this keypair--static-vars JSON
Set static vars for account
ft contract import¶
Import a contract
DESCRIPTION
This command imports a contract into the contract database
Example:
ft contract import src/Foo.tvm
Import the given contract into the contract database. Two files are mandatory: the ABI file and the TVM file. They should be stored in the same directory. The ABI file must use either a ‘.abi’ or ‘.abi.json’ extension, whereas the TVM file must use either ‘.tvc’ or ‘.tvm. If a source file (.sol, .cpp, .hpp) is also present, it is copied in the database.
USAGE
ft contract import FILENAME [OPTIONS]
Where options are:
FILENAME
Import contract from FILENAME--contract CONTRACT
Name of contract to build--force
or-f
Override existing contracts--make
Build contract if needed (only for .spp)--prefix STRING
Prefix all contracts with this prefix--solidity-version VERSION
Version of Solidity to use
ft contract new¶
Generate a new contract source file
USAGE
ft contract new CONTRACT [OPTIONS]
Where options are:
CONTRACT
Create contract file for CONTRACT
ft contract new interface¶
Generate a new contract interface source file
USAGE
ft contract new interface CONTRACT [OPTIONS]
Where options are:
CONTRACT
Create interface file for contract
ft crawler¶
Crawl all transactions to an address and fill a psql database
DESCRIPTION
This command will crawl the blockchain and fill a PostgresQL database with all events related to the contract given in argument. The created database has the same name as the account.
This command can run as a service, using the –start command to launch a manager program (that will not detach itself, however), –status to check the current status (running or not) and –stop to stop the process and its manager.
A simple session looks like:
sh> ft crawler myapp --start &> daemon.log &
sh> psql myapp
SELECT * FROM freeton_events;
serial| msg_id | event_name | event_args | time | tr_lt
1 | ec026489c0eb2071b606db0c7e05e5a76c91f4b02c2b66af851d56d5051be8bd | OrderStateChanged | {"order_id":"31","state_count":"1","state":"1"} | 1620744626 | 96
SELECT * FROM freeton_transactions;
^D
sh> ft crawler myapp --stop
ERRORS
The crawler may fail connecting to the database. You can use PGHOST to set the hostname of the database, or the directory of unix sockets (default is /var/run/postgresql). You can use PGPORT for the port (default is 5432).
The crawler may also fail for authorizations (something like FATAL: 28000: role USER does not exist ). In such a case, you need to configure postgresql to allow your role (<user> is your username):
sh> sudo -i -u postgres
root> psql
CREATE USER <user>;
ALTER ROLE <user> CREATEDB;
USAGE
ft crawler ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
Account to crawl--dropdb
Drop the previous database--start
Start with a manager process to restart automatically--status
Check if a manager process and crawler are running--stop
Stop the manager process and the crawler
ft debot fetch¶
Call tonos-cli fetch DEBOT
DESCRIPTION
USAGE
ft debot fetch DEBOT [OPTIONS]
Where options are:
DEBOT
Address of debot--boc-from NETWORK
Download debot from NETWORK (patched tonos-cli)--cached
Use cached version of boc (patched tonos-cli)
ft debot new¶
Create a debot
DESCRIPTION
USAGE
ft debot new NAME [OPTIONS]
Where options are:
NAME
Create template files for debot NAME
ft doc¶
Display useful documentation files (stored in ~/.ft/doc/)
USAGE
ft doc DOCFILE [OPTIONS]
Where options are:
DOCFILE
File to display
ft doc list¶
List useful documentation files stored in ~/.ft/doc/
USAGE
ft doc list [OPTIONS]
Where options are:
ft exec¶
Call command with substitution on arguments, use – before the command.
DESCRIPTION
This command can be used to call external commands while performing substitutions on arguments.
The available substitutions on the arguments can be listed using:
$ ft output --list-subst
For example:
$ ft exec – echo %{account:address:giver}
USAGE
ft exec -- COMMAND ARGUMENTS [OPTIONS]
Where options are:
-- COMMAND ARGUMENTS
Command and arguments--stdout FILENAME
Save command stdout to file FILENAME
ft init¶
Initialize with TON Labs binary tools, compiled from sources.
DESCRIPTION
Initialize with TON Labs binary tools, downloading them from their GIT repositories and compiling them (a recent Rust compiler must be installed).
Tools are installed in $HOME/.ft/bin/.
The following tools can be installed:
- 1. The ‘tonos-cli’ client
- 2. The ‘solc’ client from the TON-Solidity-Compiler repository
- 3. The ‘tvm_linker’ encoder from the TVM-linker repository
If no specific option is specified, all tools are generated. If a tool has already been generated, calling it again will try to upgrade to a more recent version.
USAGE
ft init [OPTIONS]
Where options are:
--client
Build and install ‘tonos-cli’ from sources--code-hashes
Create a database of code hashes from predefined contracts--distclean
Clean completely before building--linker
Build and install ‘tvm_linker’ from sources--solc
Build and install ‘solc’ from sources--solidity-version VERSION
Version of solc to use--toolchain TOOLCHAIN
Toolchain to initialize
ft inspect¶
Inspect information stored on the blockchain: display information on accounts, blocks, messages and transactions.
DESCRIPTION
Inspect information stored on the blockchain: display information on accounts, blocks, messages and transactions.
Examples:
Display all transactions that happened on the user1 account:
$ ft inspect --past user1 --with deployed:Contract
The –with argument is used to name the first unknown address, with the name ‘deployed’ and type ‘Contract’. Messages sent to known accounts with known contract types are automatically decoded.
Some operations (–block-num and –head) require to know the shard on which they apply. Arguments –shard SHARD, –shard-block BLOCK_ID and –shard-account ACCOUNT can be used to specify the shard.
Use the FT_DEBUG_GRAPHQL=1 variable to show Graphql queries
USAGE
ft inspect [OPTIONS]
Where options are:
-2
Verbosity level 2-3
Verbosity level 3-4
Verbosity level 4-a ACCOUNT
or--account ACCOUNT
Inspect state of account ACCOUNT (or ‘all’) on blockchain--abis ABI
Shared ABIs. Useful for example if you expect to receive messages that your contract does not implement (IParticipant for SafeMultisigWallet, for example)-b BLOCK
or--block BLOCK
BLOCK Inspect block TR_ID on blockchain--bn BLOCK_NUM
or--block-num BLOCK_NUM
Inspect block at level BLOCK_NUM on blockchain-h
or--head
Inspect head--limit NUM
Limit the number of results to NUM-m MSG_ID
or--message MSG_ID
Inspect message with identifier MSG_ID on blockchain-o FILE
or--output FILE
Save result to FILE (use - for stdout)--past ACCOUNT
Inspect past transactions on ACCOUNT on blockchain--shard SHARD
Block info level/head for this shard--shard-account ACCOUNT
Block info level/head for this shard--shard-block BLOCK_ID
Block info level/head for this shard--subst FILE
Read FILE and substitute results in the content-t TR_ID
or--transaction TR_ID
Inspect transaction with identifier TR_ID on blockchain--with ACCOUNT:CONTRACT
Define partner account automatically defined
ft multisig confirm transaction¶
Confirm transactions on a multisig-wallet
DESCRIPTION
This command is used to confirm transactions on a multisig wallet.
LIST WAITING TRANSACTIONS
Display transactions waiting for confirmations:
# ft multisig list transactions MY-ACCOUNT
CONFIRM TRANSACTION
Get the transaction ID from above, and use:
# ft multisig confirm MY-ACCOUNT TX_ID
USAGE
ft multisig confirm transaction ACCOUNT TX_ID [OPTIONS]
Where options are:
ACCOUNT TX_ID
The multisig account and the TX_ID--all
Sign all pending transactions--src ACCOUNT
The signing custodian
ft multisig confirm update¶
Confirm updates on a multisig-wallet
DESCRIPTION
This command is used to confirm updates on a multisig wallet.
LIST WAITING UPDATES
Display updates waiting for confirmations:
# ft multisig list updates MY-ACCOUNT
CONFIRM UPDATE
Get the update ID from above, and use:
# ft multisig confirm MY-ACCOUNT TX_ID
USAGE
ft multisig confirm update ACCOUNT TX_ID [OPTIONS]
Where options are:
ACCOUNT TX_ID
The multisig account and the TX_ID--all
Sign all pending updates--src ACCOUNT
The signing custodian
ft multisig create¶
Manage a multisig-wallet (create, confirm, send)
DESCRIPTION
This command deploys a multisig contract on a credited account.
Create an account and get its address:
# ft account create MY-ACCOUNT
Backup the account info off-computer.
The second command will give you an address in 0:XXX format. Send some tokens on the address to be able to deploy the multisig.
Check its balance with:
# ft account info MY-ACCOUNT
Then, to create a single-owner multisig:
# ft multisig create MY-ACCOUNT
To create a multi-owners multisig:
# ft multisig create MY-ACCOUNT owner2 owner3 owner4
To create a multi-owners multisig with 2 signs required:
# ft multisig create MY-ACCOUNT owner2 owner3 --req 2
To create a multi-owners multisig not self-owning:
# ft multisig create MY-ACCOUNT owner1 owner2 owner3 --not-owner
Verify that it worked:
# ft account info MY-ACCOUNT -v
USAGE
ft multisig create ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
Account name, and other custodians--contract CONTRACT
Use this contract--not-owner
Initial account should not be an owner--req REQ
Number of confirmations required--surf
Use Surf contract--wc WORKCHAIN
The workchain (default is 0)
ft multisig debot¶
Executes the multisig debot
DESCRIPTION
This command executes the multisig debot, whose address is in the ‘debot-multisig’ account.
USAGE
ft multisig debot ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The debot account
ft multisig execute update¶
Update a multisig wallet with setcode
DESCRIPTION
This command can be used to display the pubkeys of the owners/custodians of a multisig wallet
To get the list of signers:
# ft multisig update MY-ACCOUNT --nreqs 3"
USAGE
ft multisig execute update ACCOUNT UPDATE_ID CODE [OPTIONS]
Where options are:
ACCOUNT UPDATE_ID CODE
The multisig account--code CODE-BASE64
New code from base64--src ACCOUNT
The signing custodian--tvm TVM-FILENAME
New code from file
ft multisig info¶
Display info on a multisig wallet
DESCRIPTION
This command can be used to display the pubkeys of the owners/custodians of a multisig wallet
To get the list of signers:
# ft multisig info MY-ACCOUNT"
USAGE
ft multisig info ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The multisig account
ft multisig list custodians¶
List owners/custodians of a multisig wallet
DESCRIPTION
This command can be used to display the pubkeys of the owners/custodians of a multisig wallet
To get the list of signers:
# ft multisig list custodians MY-ACCOUNT"
USAGE
ft multisig list custodians ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The multisig account
ft multisig list transactions¶
Display waiting transactions in a multisig wallet
DESCRIPTION
This command can be used to display the currently waiting transactions in a multisig wallet
LIST WAITING TRANSACTIONS
Display transactions waiting for confirmations:
# ft multisig list transactions MY-ACCOUNT
USAGE
ft multisig list transactions ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The multisig account
ft multisig list updates¶
Display waiting transactions in a multisig wallet
DESCRIPTION
This command can be used to display the currently waiting transactions in a multisig wallet
LIST WAITING TRANSACTIONS
Display transactions waiting for confirmations:
# ft multisig list transactions MY-ACCOUNT
USAGE
ft multisig list updates ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The multisig account
ft multisig new¶
Create an independant multisig-wallet, similarly to ‘multisig create’, but not owner and perform crediting
DESCRIPTION
This command deploys a multisig contract on a new account.
USAGE
ft multisig new ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
Account name, and other custodians--contract CONTRACT
Use this contract--credit TONS
Initial credit for multisig (1 TON by default)--creditor ACCOUNT
Send credit from this account (default is to use the first custodian)--req REQ
Number of confirmations required (majority by default)--surf
Use Surf contract (default)--wc WORKCHAIN
The workchain (default is 0)
ft multisig transfer¶
Transfer TONs from a multisig wallet to another account
DESCRIPTION
This command is used to send tokens from a multisig wallet to another account (or to submit a transaction if multiple confirmations are required).
SIMPLE TRANSFER
Should be like that:
# ft multisig transfer 100.000 -from MY-ACCOUNT --to OTHER-ACCOUNT
If the target is not an active account:
# ft multisig transfer 100.000 --from MY-ACCOUNT --to OTHER-ACCOUNT --sponsor
To send all the balance:
# ft multisig transfer all --from MY-ACCOUNT --to OTHER-ACCOUNT
CALL WITH PARAMS
Should be like that:
# ft multisig transfer 100 --from MY-ACCOUNT --to CONTRACT set '{ "x": "100" }
USAGE
ft multisig transfer ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
Generic arguments--bounce BOOL
BOOL Transfer to inactive account--from ACCOUNT
The source of the transfer-o FILE
or--output FILE
Save result to FILE (use - for stdout)--parrain
or--sponsor
Transfer to inactive account--send
Force sendTransaction() instead of submitTransaction()--src ACCOUNT
The custodian signing the multisig transfer--subst FILE
Read FILE and substitute results in the content--to ACCOUNT
Target of a transfer--wait
Wait for all transactions to finish
ft multisig update¶
Update a multisig wallet with setcode
DESCRIPTION
This command can be used to display the pubkeys of the owners/custodians of a multisig wallet
To get the list of signers:
# ft multisig update MY-ACCOUNT --nreqs 3"
USAGE
ft multisig update ACCOUNT CUSTODIANS [OPTIONS]
Where options are:
ACCOUNT CUSTODIANS
The multisig account and the custodians--code-hash CODEHASH
New code hash for contract--contract CONTRACT
New code from contract--keep-custodians
Keep existing custodians, either adding new ones (with add: C1 C2…) or deleting old ones (with del: C1 C2…) or any combination of those commands-o FILE
or--output FILE
Save result to FILE (use - for stdout)--req REQ
New number of required confirmations for transactions--reset-custodians
Reset all custodians--src ACCOUNT
The custodian signing the multisig transfer--subst FILE
Read FILE and substitute results in the content--tvm TVM-FILENAME
New code from file
ft node give¶
Give TONs to accounts on sandbox networks
DESCRIPTION
This command can be used to create initial accounts with tokens on sandbox networks running TONOS SE (created using ‘ft switch create sandboxNN’).
USAGE
ft node give ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
Give TONs from giver to ACCOUNT (all if none specified). By default, transfer 1000 TONS to the account if its balance is smaller, and deploy a contract if it is a multisig smart contract.--amount AMOUNT
Number of TONs to give
ft node live¶
Open Node Live block explorer webpage
DESCRIPTION
Open the block explorer available on the sandbox switch running TONOS SE
USAGE
ft node live [OPTIONS]
Where options are:
ft node start¶
Start the node of a local sandbox switch
DESCRIPTION
This command can be used to start the node of a local sandbox network running TONOS SE and created using ‘ft switch create sandboxNN’.
USAGE
ft node start [OPTIONS]
Where options are:
ft node stop¶
Stop the local node of a sandbox switch
DESCRIPTION
This command can be used to stop the local node of a sandbox network running TONOS SE
USAGE
ft node stop [OPTIONS]
Where options are:
ft node update¶
Update Docker image of TONOS SE for new features. You must recreate sandbox switches to benefit from the new image.
DESCRIPTION
This command can be used to update the docker image that will be used to create new sandbox networks (tonlabs/local-node, or the one provide with –image)
USAGE
ft node update [OPTIONS]
Where options are:
--image DOCKER
Docker image to use for sandboxes
ft node web¶
Open Node GraphQL webpage
DESCRIPTION
This command can be used to open the GraphQL webpage associated with the current local network
USAGE
ft node web [OPTIONS]
Where options are:
ft output¶
Perform substitutions on the output
DESCRIPTION
This command performs substitutions on its input. By default, the output goes to stdout, unless the ‘-o’ option is used.
Examples:
Load a file INPUT, substitute its content, and save to OUTPUT:
$ ft output --file INPUT --o OUTPUT
List available substitutions:
$ ft output --list-subst
Output address of account ACCOUNT:
$ ft output --addr ACCOUNT
or:
$ ft output --string %{account:address:ACCOUNT}
Output keyfile of account ACCOUNT to file KEYFILE:
ft output --keyfile ACCOUNT -o KEYFILE
USAGE
ft output STRING [OPTIONS]
Where options are:
STRING
Output string after substitution--addr ACCOUNT
Output address of account--file FILE
Output content of file after substitution--keyfile ACCOUNT
Output key file of account--list-subst
List all substitutions-o FILE
Save command stdout to file--string STRING
Output string after substitution
ft print error¶
Display error codes
USAGE
ft print error ERROR CODe [OPTIONS]
Where options are:
ERROR CODe
Error code to explain
ft switch config¶
Modify configuration
DESCRIPTION
Change the global configuration or the network configuration.
USAGE
ft switch config [OPTIONS]
Where options are:
--deployer ACCOUNT
Set deployer to account ACCOUNT. The deployer is the account used to credit the initial balance of an address before deploying a contract on it.--toolchain TOOLCHAIN
Name of toolchain to use in this switch--url URL
Node Url of this network (without /graphql)
ft switch create¶
Create a new switch for an existing network, or create a sandbox local network
DESCRIPTION
This command is used to create new switches, either for existing remote networks (mainnet, testnet, etc.) by providing their URL with –url, or to create new local networks running TONOS SE (such switches must be called ‘sandboxNN’ where NN is a number). Each switch includes its own set of accounts and nodes.
When a new switch is created, it immediately becomes the current switch.
EXAMPLES
Display current network and other existing networks:
$ ft switch list
Change current network to an existing network NETWORK:
$ ft switch to NETWORK
Create a new network with name NETWORK and url URL, and switch to that network:
$ ft switch create NETWORK --url URL
Removing a created network:
$ ft switch remove NETWORK
SANDBOXING
As a specific feature, ft can create networks based on TONOS SE to run on the local computer. Such networks are automatically created by naming the network ‘sandboxN` where N is a number. The corresponding node will run on port 7080+N.
Example of session (create network, start node, give user1 1000 TONs):
$ ft switch create sandbox1
$ ft node start
$ ft node give user1 --amount 1000
When a local network is created, it is initialized with:
- 1. An account ‘giver’ corresponding to the Giver contract holding 5 billion TONS
- 2. A set of 10 accounts ‘user0’ to ‘user9’. These accounts always have the same secret keys, so it is possible to define test scripts that will work on different instances of local networks.
The 10 accounts are not deployed, but it is possible to use ‘ft node give ACCOUNT’ to automatically deploy the account.
USAGE
ft switch create NETWORK [OPTIONS]
Where options are:
NETWORK
Name of network switch to create--force
Force switch creation, killing docker container if needed--image DOCKER
Docker image to use for sandboxes--toolchain TOOLCHAIN
Toolchain to use--url URL
URL of the default node in this network
ft switch list¶
List the current switches/networks
DESCRIPTION
This command is used to list the known networks (switches) and the current configuration.
USAGE
ft switch list [OPTIONS]
Where options are:
ft switch remove¶
Remove a network configurations/switches
DESCRIPTION
Remove network configurations
EXAMPLES
Removing a created network:
$ ft switch remove NETWORK
USAGE
ft switch remove NETWORK [OPTIONS]
Where options are:
NETWORK
Name of network switch to remove-f
or--force
Remove network even in case of failure
ft switch to¶
Switch to another network/switch
DESCRIPTION
This command is used to switch the current network configuration to the provided switch. To only switch to a new network for a particular command, it is possible to use the –switch argument instead.
EXAMPLE
Display current network and other existing networks:
$ ft switch list
Change current network to an existing network NETWORK:
$ ft switch to NETWORK
Call a command for another switch:
$ ft --switch NETWORK call contract get '{}'
USAGE
ft switch to NETWORK [OPTIONS]
Where options are:
NETWORK
Name of network switch
ft test¶
For testing only
USAGE
ft test ARGUMENTS [OPTIONS]
Where options are:
ARGUMENTS
args--test INT
NUM Run test NUM
ft token list¶
Display token wallet info
USAGE
ft token list ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The associated multisig wallet
ft token swap¶
Swap tokens in DEX
USAGE
ft token swap AMOUNT TOKEN [OPTIONS]
Where options are:
AMOUNT TOKEN
Amount and token symbol----for OWNER
Token account owner----to TOKEN
Destination token
ft token transfer¶
Transfer tokens between two token wallets
USAGE
ft token transfer AMOUNT TOKEN [OPTIONS]
Where options are:
AMOUNT TOKEN
Amount and token symbol----from OWNER
Source account owner----to OWNER
Destination account owner
ft token wton¶
Display token wallet info
USAGE
ft token wton ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
The associated multisig wallet
ft token wton credit¶
Display token wallet info
USAGE
ft token wton credit ACCOUNT AMOUNT [OPTIONS]
Where options are:
ACCOUNT AMOUNT
The associated multisig wallet
ft token wton withdraw¶
Display token wallet info
USAGE
ft token wton withdraw ACCOUNT AMOUNT [OPTIONS]
Where options are:
ACCOUNT AMOUNT
The associated multisig wallet
ft utils¶
Some useful tools
DESCRIPTION
Misc commands. For example, to translate bytes from base64 or message boc.
USAGE
ft utils [OPTIONS]
Where options are:
--of-base64 STRING
Translates from base64--of-boc STRING
Parse message boc in base64 format
ft watch¶
Monitor a given account for new transactions.
DESCRIPTION
Wait for transactions happening on the given ACCOUNT. Transactions are immediately displayed on stdout. If the argument –on-event CMD is provided, a command is called for every event emitted by the contract.
USAGE
ft watch ACCOUNT [OPTIONS]
Where options are:
ACCOUNT
Watch account ACCOUNT-0
Verbosity level none-3
Verbosity level 3--account ACCOUNT
Watch account ACCOUNT--from BLOCKID
Start with block identifier BLOCKID-o FILE
or--output FILE
Output to FILE--on-event CMD
Call CMD on event emitted. Called once on startup as CMD <block_id> start and after every emitted event as CMD <block_id> <tr_id> <event_name> <args>--timeout TIMEOUT
Timeout in seconds (default is 25 days)