Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
share
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张振华
share
Commits
a61b1274
Commit
a61b1274
authored
Feb 21, 2020
by
张振华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add new file
parent
70c97369
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
505 additions
and
0 deletions
+505
-0
console控制台程序使用指南.md
console控制台程序及使用指南/console控制台程序使用指南.md
+505
-0
No files found.
console控制台程序及使用指南/console控制台程序使用指南.md
0 → 100644
View file @
a61b1274
# 一、控制台程序介绍
# 一、控制台程序介绍
console程序是为了方便用户对于chain33的使用而开发,用户通过console可以以简短的命令完成区块链功能(账户查询,转账,部署evm合约,调用evm合约等),而不必执行繁琐的底层指令,提高chain33区块链的易用性,降低用户使用门槛。
# 二、控制台程序使用说明
## 1. 支持平台:
安装了python3的Linux、Mac、Windows平台。
有的平台默认安装了python2.x的版本,需要安装python3.x的版本,具体可以从互联网上搜索相关教程。
## 2. 使用步骤:
1.
首先下载console.py程序及sample_contract样例合约到本地chain33目录下。
2.
确保本地chain33程序正在运行,可以进行区块链相关指令操作。
3.
命令行状态到chain33目录中:
```
json
A.
Linux或者Mac中,打开控制台命令行模式,进入chain
33
目录,通过ls命令可以看到console.py程序、sample_contract、chain
33
、chain
33
-cli;
B.
Windows中,从“开始”菜单在“搜索程序和文件”中输入cmd,按回车,进入command命令行模式,通过cd命令,进入chain
33
目录,通过dir命令可以看到console.py程序、sample_contract、chain
33
、chain
33
-cli;
C.
Windows中,也可以安装git,通过资源管理器图形界面进入chain
33
目录,可以看到console.py程序、sample_contract、chain
33
、chain
33
-cli,通过鼠标右键选择“Git
Bash
Here”进入类linux的命令行模式,通过ls命令可以看到console.py程序、sample_contract、chain
33
、chain
33
-cli;
```
4.
chain33目录中验证chain33正常工作。
Linux/Mac平台执行指令: ./chain33-cli net is_sync
Windows平台cmd命令行执行指令:.
\c
hain33-cli net is_sync
Windows平台git bash命令行执行指令:./chain33-cli net is_sync
得到结果:true
5.
chain33目录中执行命令:python console.py启动控制台程序,进行各种操作
可看到类似如下输出
```
json
(
1
)
命令行提示符:
[
chain
33
]
>>>
(
2
)
help指令可以展示所有的支持的命令(关于目前支持的指令后面有一张表进行详细描述)
[
chain
33
]
>>>
help
clear
raw
seedGenerate
seedSave
seedGenerateAndSave
version
net
accountList
accountBalance
accountCreate
accountSetlabel
accountDumpkey
accountImportkey
queryTx
walletStatus
walletUnlock
walletLock
walletSetfee
walletSetpwd
walletAutomine
walletMerge
totalCoins
transferCoin
sendCoinsTransfer
evmDeploy
evmInfo
evmAbiCall
[
chain
33
]
>>>
(
3
)
以accountList为例,该命令会展示当前节点钱包中的账户列表:
[
chain
33
]
>>>
accountList
{
"wallets"
:
[
{
"acc"
:
{
"balance"
:
"0.0000"
,
"frozen"
:
"0.0000"
,
"addr"
:
"1K3PRdgKV2x9BCrbathhDKjqRksz8rwXEn"
},
"label"
:
"airdropaddr"
},
{
"acc"
:
{
"balance"
:
"0.0000"
,
"frozen"
:
"0.0000"
,
"addr"
:
"1J9Q8YCoiAitNic77VusEfz3i6AR5HuiCY"
},
"label"
:
"node award"
},
{
"acc"
:
{
"balance"
:
"99990000.0000"
,
"frozen"
:
"0.0000"
,
"addr"
:
"1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs"
},
"label"
:
"genesis"
},
{
"acc"
:
{
"balance"
:
"10000.0000"
,
"frozen"
:
"0.0000"
,
"addr"
:
"1KonWZdo4TEu9a7mGEoEQmKAaHBz8opcq5"
},
"label"
:
"test"
}
]
}
(
4
)
使用如下命令可以生成并保存seed、设置钱包密码(通过chain
33
-cli要先先生成seed、再保存seed,两条指令才能完成)
:
[
chain
33
]
>>>
seedGenerateAndSave
0
tech
1234
generated
seed
:
reopen
clean
aerobic
visit
spot
table
cross
awful
notable
couch
alone
sugar
sad
fever
grape
please
remember
this
seed
,
use
it
you
can
manage
the
wallet
,
it's
very
important!!!!!!
now
save
the
seed
with
password
:
tech
1234
{
"isOK"
:
true
,
"msg"
:
""
}
(
5
)
使用如下解锁钱包:
[
chain
33
]
>>>
walletUnlock
tech
1234
{
"isOK"
:
true
,
"msg"
:
""
}
(
6
)
使用如下命令在账户之间转账(一条指令包含了构造交易,签名交易,提交交易):
[
chain
33
]
>>>
transferCoin
1
CbEVT
9
RnM
5
oZhWMj
4
fxUrJX
94
VtRotzvs
1
KonWZdo
4
TEu
9
a
7
mGE
oEQmKAaHBz
8
opcq
5
10
raw
transaction
:
0
a
05636
f
696e73122
e
18010
a
2
a
108094
ebdc
032222314
b
6
f
6e575
a
646
f
34
5445753961376
d
47456
f
45516
d
4
b
416148427
a
386
f
70637135309
df
5
bcbbdef
6
b
9
c
26
a
3
a
22314
b
6
f
6e575
a
646
f
345445753961376
d
47456
f
45516
d
4
b
416148427
a
386
f
70637135
signed
transaction
:
0
a
05636
f
696e73122
e
18010
a
2
a
108094
ebdc
032222314
b
6
f
6e575
a
646
f
345445753961376
d
47456
f
45516
d
4
b
416148427
a
386
f
706371351
a
6
d
080112210289
af
2
f
9
d
53109
71242402932
ab
50
a
985
a
21036716
a
356
c
2419253
c
247
d
28832e1
a
46304402202e3560146
bf
567
fb
0
cd
56
a
7372
a
2
b
05
eaba
73
cbec
059e6604
efdacffe
4
f
4415902206956e9942
b
1
eb
011
d
62429
ebaa
169
08
c
65
bd
49e7131
f
5
dc
8e4
ae
50
bfa
7
f
2
df
6728
a
095
baf
205309
df
5
bcbbdef
6
b
9
c
26
a
3
a
22314
b
6
f
6e5
75
a
646
f
345445753961376
d
47456
f
45516
d
4
b
416148427
a
386
f
70637135
transaction
id
:
0
xe
8
dcd
94245
c
50e15
d
902
cd
54
ca
2
b
6
bab
5
ba
9
a
4
d
318e3316
f
6
fefba
718
be
ea
7
b
7
(
7
)
使用如下命令查询交易:
[
chain
33
]
>>>
queryTx
0
xe
8
dcd
94245
c
50e15
d
902
cd
54
ca
2
b
6
bab
5
ba
9
a
4
d
318e3316
f
6
fefba
71
8
beea
7
b
7
{
"tx"
:
{
"execer"
:
"coins"
,
"payload"
:
{
"transfer"
:
{
"cointoken"
:
""
,
"amount"
:
"1000000000"
,
"note"
:
null
,
"to"
:
"1KonWZdo4TEu9a7mGEoEQmKAaHBz8opcq5"
},
"ty"
:
1
},
"rawpayload"
:
"0x18010a2a108094ebdc032222314b6f6e575a646f345445753961376
d47456f45516d4b416148427a386f70637135"
,
"signature"
:
{
"ty"
:
1
,
"pubkey"
:
"0x0289af2f9d5310971242402932ab50a985a21036716a356c2419253
c247d28832e"
,
"signature"
:
"0x304402202e3560146bf567fb0cd56a7372a2b05eaba73cbec059
e6604efdacffe4f4415902206956e9942b1eb011d62429ebaa16908c65bd49e7131f5dc8e4ae50bf
a7f2df67"
},
"fee"
:
"0.0000"
,
"expire"
:
1582205600
,
"nonce"
:
7675514433404091037
,
"to"
:
"1KonWZdo4TEu9a7mGEoEQmKAaHBz8opcq5"
,
"amount"
:
"10.0000"
,
"from"
:
"1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs"
,
"hash"
:
"0xe8dcd94245c50e15d902cd54ca2b6bab5ba9a4d318e3316f6fefba718beea
7b7"
},
"receipt"
:
{
"ty"
:
2
,
"tyName"
:
"ExecOk"
,
"logs"
:
[
{
"ty"
:
3
,
"tyName"
:
"LogTransfer"
,
"log"
:
{
"prev"
:
{
"currency"
:
0
,
"balance"
:
"9999000000000000"
,
"frozen"
:
"0"
,
"addr"
:
"1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs"
},
"current"
:
{
"currency"
:
0
,
"balance"
:
"9998999000000000"
,
"frozen"
:
"0"
,
"addr"
:
"1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs"
}
},
"rawLog"
:
"0x0a2d1080e0efd899c1e111222231436245565439526e4d356f5
a68574d6a34667855724a5839345674526f747a7673122d1080cc84fc95c1e111222231436245565
439526e4d356f5a68574d6a34667855724a5839345674526f747a7673"
},
{
"ty"
:
3
,
"tyName"
:
"LogTransfer"
,
"log"
:
{
"prev"
:
{
"currency"
:
0
,
"balance"
:
"1000000000000"
,
"frozen"
:
"0"
,
"addr"
:
"1KonWZdo4TEu9a7mGEoEQmKAaHBz8opcq5"
},
"current"
:
{
"currency"
:
0
,
"balance"
:
"1001000000000"
,
"frozen"
:
"0"
,
"addr"
:
"1KonWZdo4TEu9a7mGEoEQmKAaHBz8opcq5"
}
},
"rawLog"
:
"0x0a2b1080a094a58d1d2222314b6f6e575a646f3454457539613
76d47456f45516d4b416148427a386f70637135122b1080b4ff81911d2222314b6f6e575a646f345
445753961376d47456f45516d4b416148427a386f70637135"
}
]
},
"height"
:
40
,
"index"
:
0
,
"blocktime"
:
1582205481
,
"amount"
:
"10.0000"
,
"fromaddr"
:
"1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs"
,
"actionname"
:
"transfer"
,
"assets"
:
[
{
"exec"
:
"coins"
,
"symbol"
:
"BTY"
,
"amount"
:
1000000000
}
],
"txProofs"
:
[
{
"proofs"
:
null
,
"index"
:
0
,
"rootHash"
:
""
}
],
"fullHash"
:
"0xae9795d70e15c0ebcce9aca267383a4f83d8becf7a94dfdb5750d7d582243
bb9"
}
[
chain
33
]
>>>
```
从以上的例子可以看出,console控制台程序对chain33-cli的一些指令进行了封装,比如把原来分三步的转账(构造交易,签名交易,发送交易)合成一条转账指令,方便用户的操作,降低难度。
(8) 另外,也提供了raw指令模式。
比如:
```
json
[
chain
33
]
>>>
raw
wallet
status
{
"isWalletLock"
:
false
,
"isAutoMining"
:
false
,
"isHasSeed"
:
true
,
"isTicketLock"
:
true
}
```
这条指令其实就对应chain33-cli wallet status的原始指令,这种raw指令模式可以直接调用chain33-cli支持的所有的指令.
# 三、支持的指令说明
|指令名称|说明|用法|参数说明|
|----|----|----|----|
|clear|清理屏幕|clear|无|
|history|console本次启动以后输入的历史指令|history|无|
|quit|退出console程序|quit||
|raw|直接调用chain33-cli,支持chain33-cli的所有指令|比如chain33-cli wallet status对应raw wallet status||
|seedGenerate|生成seed|seedGenerate 0(english)/1(chinese)|参数0表示英文,参数1表示中文|
|seedSave|保存生成的seed|seedSave pwd seed|pwd:密码;seed:要保存的seed|
|version|查询程序版本信息|version||
|net|查询区块链网络信息| net fault/info/time/is_clock_sync/is_sync/peer|fault:故障数; info:网络信息; time:时间信息; is_clock_sync:时钟是否和网络同步; is_sync:区块是否同步; 对端节点信息|
|accountList|钱包管理的账户列表|accountList|无|
|accountBalance|账户余额查询|accountBalance address|address:账户地址|
|accountCreate|创建账户| accountCreate label|label:账户标签|
|accountSetlabel|为账户设置标签|accountSetlabel address label|address:账户地址;label:标签|
|accountDumpkey|导出账户私钥|accountDumpkey address|address:账户地址|
|accountImportkey|导入私钥|accountImportkey privkey label|privkey:要导入的私钥; label:导入后账户标签|
|queryTx|查询交易信息| queryTx txid|txid:交易hash|
|walletStatus|查询钱包状态|walletStatus|无|
|walletUnlock|解锁钱包| walletUnlock password
[
timeout
]
|password:钱包密码; timeout:超时时间,0表示不超时|
|walletLock|锁住钱包|walletLock|无|
|walletSetfee|设置交易费用|walletSetfee fee|fee:交易费用|
|walletSetpwd|设置钱包密码|walletSetpwd newpwd oldpwd|newpwd:新密码;oldpwd:旧密码|
|walletAutomine|设置自动挖矿|walletAutomine on(1)|off(0)|on:开启自动挖矿; off:关闭自动挖矿|
|walletMerge|账户余额合并|walletMerge address|address: 合并到的账户地址|
|totalCoins|统计当前总的coin数量|totalCoins|无|
|transferCoin|转账coin|transferCoin addr1 addr2 number
[
note
]
|addr1:转出账户; addr2:转入账户; number:转账数量; note:转账说明|
|sendCoinsTransfer|转账coin| sendCoinsTransfer fromKey toAddr amount note|fromKey:转出账户; toAddr:转入账户; number:转账数量; note:转账说明|
|evmDeploy|部署evm合约|evmDeploy contractFileName aliasName creatorAddr|contractFileName:合约文件名; aliasName: 部署合约的实例名; creatorAddr: 合约创建者地址|
|evmInfo|evm合约信息查询|evmInfo aliasName|aliasName: 已部署的evm合约别名|
|evmAbiCall|调用合约接口|evmAbiCall aliasName method(parameters)|aliasName:已部署合约名称; method(parameters):调用合约的方法名及参数值|
# 四、快捷部署evm样例合约,简化操作,方便用户体验智能合约
使用控制台程序和样例合约文件,可以快速极简部署evm合约,并调用合约,操作简单难度低,让用户快速亲身体验到智能合约的部署和使用。
```
json
1
.
确保钱包解锁:
[
chain
33
]
>>>
walletUnlock
tech
1234
{
"isOK"
:
true
,
"msg"
:
""
}
2
.
根据准备好的合约文件部署合约:
[
chain
33
]
>>>
evmDeploy
sample_contract
test
1
LNAmN
8
PpVz
3
d
61
KtxRUu
25
ifr
9
rHb
75
vv
sample_contract
is
accessible
to
read
execute
command
:
.\chain
33
-cli
evm
create
-i
608060405234801561001057600080
fd
5
b
5060
c
68061001
f
6000396000
f
3
fe
6080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032
-c
1
LNAmN
8
PpVz
3
d
61
KtxRUu
25
ifr
9
rHb
75
vv
-s
test
-b
"[{
\"
constant
\"
:false,
\"
inputs
\"
:[{
\"
name
\"
:
\"
x
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
set
\"
,
\"
outputs
\"
:[],
\"
payable
\"
:false,
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
constant
\"
:true,
\"
inputs
\"
:[],
\"
name
\"
:
\"
get
\"
,
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
payable
\"
:false,
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
payable
\"
:false,
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
}]"
-f
1
txid
:
0
xdae
06
b
2
ab
6206
ebd
31
b
5
ca
7
b
352e8
b
84
f
2829076
c
07
dab
87e3
d
4
d
28889
ce
4962
tx
info
:
{
'tx'
:
{
'execer'
:
'evm'
,
'payload'
:
{
'amount'
:
'
0
'
,
'gasLimit'
:
'
0
'
,
'gasPrice'
:
0
,
'code'
:
'
0
x
608060405234801561001057600080
fd
5
b
5060
c
68061001
f
6000396000
f
3
fe
6080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032
'
,
'alias'
:
'test'
,
'note'
:
''
,
'abi'
:
'
[
{
"constant"
:
false
,
"inputs"
:
[
{
"name"
:
"x"
,
"type"
:
"uint256"
}
],
"name"
:
"set"
,
"outputs"
:
[
],
"payable"
:
false
,
"stateMutability"
:
"nonpayable"
,
"type"
:
"function"
},
{
"constant"
:
true
,
"inputs"
:
[
],
"name"
:
"get"
,
"outputs"
:
[
{
"name"
:
""
,
"type"
:
"uint256"
}
],
"payable"
:
false
,
"stateMutability"
:
"view"
,
"type"
:
"function"
},
{
"inputs"
:
[
],
"payable"
:
false
,
"stateMutability"
:
"nonpayable"
,
"type"
:
"constructor"
}
]
'
},
'rawpayload'
:
'
0
x
22e501608060405234801561001057600080
fd
5
b
5060
c
68061001
f
6000396000
f
3
fe
6080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
634300051000322
a
04746573743
af
9025
b
7
b
22636
f
6e7374616
e
74223
a
66616
c
73652
c
22696e70757473223
a
5
b
7
b
226e616
d
65223
a
2278222
c
2274797065223
a
2275696e74323536227
d
5
d
2
c
226e616
d
65223
a
22736574222
c
226
f
757470757473223
a
5
b
5
d
2
c
2270617961626
c
65223
a
66616
c
73652
c
2273746174654
d
75746162696
c
697479223
a
226e6
f
6e70617961626
c
65222
c
2274797065223
a
2266756e6374696
f
6e227
d
2
c
7
b
22636
f
6e7374616
e
74223
a
747275652
c
22696e70757473223
a
5
b
5
d
2
c
226e616
d
65223
a
22676574222
c
226
f
757470757473223
a
5
b
7
b
226e616
d
65223
a
22222
c
2274797065223
a
2275696e74323536227
d
5
d
2
c
2270617961626
c
65223
a
66616
c
73652
c
2273746174654
d
75746162696
c
697479223
a
2276696577222
c
2274797065223
a
2266756e6374696
f
6e227
d
2
c
7
b
22696e70757473223
a
5
b
5
d
2
c
2270617961626
c
65223
a
66616
c
73652
c
2273746174654
d
75746162696
c
697479223
a
226e6
f
6e70617961626
c
65222
c
2274797065223
a
22636
f
6e7374727563746
f
72227
d
5
d'
,
'signature'
:
{
'ty'
:
1
,
'pubkey'
:
'
0
x
031
c
80
a
392
cb
7e5201
ba
6175330703e1
c
0
b
49
a
273
adf
85
c
23
dd
351947
c
208639
ff'
,
'signature'
:
'
0
x
3045022100
eb
0
fc
648
f
988
f
1
c
6
df
577
c
4
a
836
c
5
da
29
f
8
c
1911700
d
0
fe
0579722
a
01
f
43670302207
efac
058
eb
24
c
986
bbdba
4
a
7
a
9e9509
cd
5
cf
8
ada
5075
fe
4
f
2
f
37e69090303877
'
},
'fee'
:
'
1.0000
'
,
'expire'
:
1582249439
,
'nonce'
:
5208488883003648087
,
'to'
:
'
19
tjS
51
kjwrCoSQS
13
U
3
owe
7
gYBLfSfoFm'
,
'from'
:
'
1
LNAmN
8
PpVz
3
d
61
KtxRUu
25
ifr
9
rHb
75
vv'
,
'hash'
:
'
0
xdae
06
b
2
ab
6206
ebd
31
b
5
ca
7
b
352e8
b
84
f
2829076
c
07
dab
87e3
d
4
d
28889
ce
4962
'
},
'receipt'
:
{
'ty'
:
2
,
'tyName'
:
'ExecOk'
,
'logs'
:
[
{
'ty'
:
603
,
'tyName'
:
'LogCallContract'
,
'log'
:
{
'caller'
:
'
1
LNAmN
8
PpVz
3
d
61
KtxRUu
25
ifr
9
rHb
75
vv'
,
'contractName'
:
'user.evm.
0
xdae
06
b
2
ab
6206
ebd
31
b
5
ca
7
b
352e8
b
84
f
2829076
c
07
dab
87e3
d
4
d
28889
ce
4962
'
,
'contractAddr'
:
'
1
Bkx
91
eymBo
3E8
iCaNQps
4
bNFHc
9
gBtZX'
,
'usedGas'
:
'
39693
'
,
'ret'
:
'
0
x
6080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032
'
,
'jsonRet'
:
''
},
'rawLog'
:
'
0
x
0
a
22314
c
4e416
d
4e385070567
a
336436314
b
747852557532356966723972486237357676124
b
757365722e65766
d
2e3078646165303662326162363230366562643331623563613762333532653862383466323832393037366330376461623837653364346432383838396365343936321
a
2131426
b
78393165796
d
426
f
3345386943614e51707334624
e
464863396742745
a
58208
db
6022
ac
6016080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032
'
},
{
'ty'
:
601
,
'tyName'
:
'LogContractData'
,
'log'
:
{
'creator'
:
'
1
LNAmN
8
PpVz
3
d
61
KtxRUu
25
ifr
9
rHb
75
vv'
,
'name'
:
'user.evm.
0
xdae
06
b
2
ab
6206
ebd
31
b
5
ca
7
b
352e8
b
84
f
2829076
c
07
dab
87e3
d
4
d
28889
ce
4962
'
,
'alias'
:
'test'
,
'addr'
:
'
1
Bkx
91
eymBo
3E8
iCaNQps
4
bNFHc
9
gBtZX'
,
'code'
:
'
0
x
6080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032
'
,
'codeHash'
:
'
0
x
86
caa
23642
eb
6
f
934
ff
1592232
a
27
b
04
caa
8520
accb
42e19
ffa
089
f
01e895447
'
,
'abi'
:
'
[
{
"constant"
:
false
,
"inputs"
:
[
{
"name"
:
"x"
,
"type"
:
"uint256"
}
],
"name"
:
"set"
,
"outputs"
:
[
],
"payable"
:
false
,
"stateMutability"
:
"nonpayable"
,
"type"
:
"function"
},
{
"constant"
:
true
,
"inputs"
:
[
],
"name"
:
"get"
,
"outputs"
:
[
{
"name"
:
""
,
"type"
:
"uint256"
}
],
"payable"
:
false
,
"stateMutability"
:
"view"
,
"type"
:
"function"
},
{
"inputs"
:
[
],
"payable"
:
false
,
"stateMutability"
:
"nonpayable"
,
"type"
:
"constructor"
}
]
'
},
'rawLog'
:
'
0
x
0
a
22314
c
4e416
d
4e385070567
a
336436314
b
747852557532356966723972486237357676124
b
757365722e65766
d
2e3078646165303662326162363230366562643331623563613762333532653862383466323832393037366330376461623837653364346432383838396365343936321
a
0474657374222131426
b
78393165796
d
426
f
3345386943614e51707334624
e
464863396742745
a
582
ac
6016080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032322086
caa
23642
eb
6
f
934
ff
1592232
a
27
b
04
caa
8520
accb
42e19
ffa
089
f
01e8954473
af
9025
b
7
b
22636
f
6e7374616
e
74223
a
66616
c
73652
c
22696e70757473223
a
5
b
7
b
226e616
d
65223
a
2278222
c
2274797065223
a
2275696e74323536227
d
5
d
2
c
226e616
d
65223
a
22736574222
c
226
f
757470757473223
a
5
b
5
d
2
c
2270617961626
c
65223
a
66616
c
73652
c
2273746174654
d
75746162696
c
697479223
a
226e6
f
6e70617961626
c
65222
c
2274797065223
a
2266756e6374696
f
6e227
d
2
c
7
b
22636
f
6e7374616
e
74223
a
747275652
c
22696e70757473223
a
5
b
5
d
2
c
226e616
d
65223
a
22676574222
c
226
f
757470757473223
a
5
b
7
b
226e616
d
65223
a
22222
c
2274797065223
a
2275696e74323536227
d
5
d
2
c
2270617961626
c
65223
a
66616
c
73652
c
2273746174654
d
75746162696
c
697479223
a
2276696577222
c
2274797065223
a
2266756e6374696
f
6e227
d
2
c
7
b
22696e70757473223
a
5
b
5
d
2
c
2270617961626
c
65223
a
66616
c
73652
c
2273746174654
d
75746162696
c
697479223
a
226e6
f
6e70617961626
c
65222
c
2274797065223
a
22636
f
6e7374727563746
f
72227
d
5
d'
}
]
},
'height'
:
41
,
'index'
:
0
,
'blocktime'
:
1582249319
,
'amount'
:
'
0.0000
'
,
'fromaddr'
:
'
1
LNAmN
8
PpVz
3
d
61
KtxRUu
25
ifr
9
rHb
75
vv'
,
'actionname'
:
'createEvmContract'
,
'assets'
:
None
,
'txProofs'
:
[
{
'proofs'
:
None
,
'index'
:
0
,
'rootHash'
:
''
}
],
'fullHash'
:
'
0
x
210
f
2
a
9142
cd
565
a
130
ce
2878
cd
0e5883
ffe
8
d
8
b
2
ee
91e8
e
2
a
59
c
5e2234
ec
2
a
5
'
}
code
:
608060405234801561001057600080
fd
5
b
5060
c
68061001
f
6000396000
f
3
fe
6080604052348015600
f
57600080
fd
5
b
506004361060325760003560e01
c
806360
fe
47
b
11460375780636
d
4
ce
63
c
146062575
b
600080
fd
5
b
606060048036036020811015604
b
57600080
fd
5
b
8101908080359060200190929190505050607e565
b
005
b
60686088565
b
6040518082815260200191505060405180910390
f
35
b
8060008190555050565
b
6000805490509056
fea
265627
a
7
a
72315820
d
4
df
27010
b
6
a
834
bd
33
c
5
ffe
98
b
8
b
9502
bad
314767
b
3e9
afa
5127
dfa
8272214364736
f
6
c
63430005100032
alias
:
sample
abi
:[{
\
"constant
\"
:false,
\"
inputs
\"
:[{
\"
name
\"
:
\"
x
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
set
\"
,
\"
outputs
\"
:[],
\"
payable
\"
:false,
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
constant
\"
:true,
\"
inputs
\"
:[],
\"
name
\"
:
\"
get
\"
,
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
payable
\"
:false,
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
payable
\"
:false,
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
}]
creator:1LNAmN8PpVz3d61KtxRUu25ifr9rHb75vv
set:set
get:get
contractName:user.evm.0xdae06b2ab6206ebd31b5ca7b352e8b84f2829076c07dab87e3d4d28889ce4962
contractAddr1Bkx91eymBo3E8iCaNQps4bNFHc9gBtZX
3. 使用evmAbiCall指令调用合约的set接口,保存数据:
[chain33] >>> evmAbiCall
command usage: evmAbiCall aliasName method(parameters)
[chain33] >>> evmAbiCall test set(888)
set(888) ok
4. 使用evmAbiCall指令调用合约的get接口,查询数据:
[chain33] >>> evmAbiCall test get()
{'caller': '1LNAmN8PpVz3d61KtxRUu25ifr9rHb75vv', 'contractName': '', 'contractAddr': '1Bkx91eymBo3E8iCaNQps4bNFHc9gBtZX', 'usedGas': '263', 'ret': '0x0000000000000000000000000000000000000000000000000000000000000378', 'jsonRet': '[{"
name
":"","
type
":"
uint
256
","
value
":888}]'}
```
从上面可以看出,部署及调用合约的步骤及指令极为简化,可以方便用户上手了解。
上述过程也可以通过直接调用chain33-cli的指令来完成,但操作会比较繁琐,对于高级开发者,可以选择console的raw指令,直接调用chain33-cli的指令来完成更多参数设定。
样例合约sample_contract参考https://chain.33.cn/document/67中的例子,用户也可以自定义合约作为模板来进行部署及验证。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment