Deploying and invoking contract
In the previous section we have compiled an NEP17 contract file (NEP17.nef) and contract descriptive file (NEP17.manifest.json), next we will move on to deployment and invocation of the contract with Neo-CLI.
#
Deploying contractIn Neo-CLI, input the deploy command deploy <nefFilePath> [manifestFile]
, for example:
deploy NEP17.nef
Or
deploy NEP17.nef NEP17.manifest.json
After the command is executed, the NEP17 contract is deployed and the related fee is charged by the system automatically.
neo> deploy NEP17.nefScript hash: 0xb7f4d011241ec13db16c0e3484bdd5dd9a536f26Gas: 10.1477624
Signed and relayed transaction with hash=0xe03aade81fb96c44e115a1cc9cfe984a9df4a283bd10aa0aefa7ebf3e296f757
For more information, refer to Deploying Smart Contracts.
#
Invoking contractNow we can invoke the contract using the Neo-CLI command invoke
:
invoke <scriptHash> <operation> [contractParameters=null] [witnessAddress=null]
For example:
invoke 0xb7f4d011241ec13db16c0e3484bdd5dd9a536f26 symbol
After executed successfully, the following information is printed:
Invoking script with: '10c00c046e616d650c14f9f81497c3f9b62ba93f73c711d41b1eeff50c2341627d5b52'VM State: HALTGas Consumed: 0.0103609Evaluation Stack: [{"type":"ByteArray","value":"VG9rZW5TeW1ib2w="}]
relay tx(no|yes):
Where:
- VM State:
HALT
indicates the vm executed successfully;FAULT
indicates the vm exited during execution due to an exception. - Evaluation Stack: the result of contract execution, where the value is encoded with Base64 when it is a string or ByteArray.
- You can do the data format conversion here
VG9rZW5TeW1ib2w=
=>TokenSymbol
For more information, refer to Invoking Smart Contracts.