Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

私链eosio.system合约部署

放弃六月们
152 0 0
eosio.system合约部署7 s: s$ X: ~/ g* R; s
eos版本:v1.0.5  J9 v; L3 z+ B
操作系统:centos 7; N7 i% i: L" m0 d
环境:私有链7 ~# q" \' N. I( w- A
目的2 Z6 J3 C  t7 w& p( C8 R& c! M. V
由于正式链的ram,net带宽,cpu带宽太宝贵,对于测试的同学建议先在私链上进行测试,避免浪费EOS币。
5 G( _8 v! L  o  N6 k! j/ S; c部署
3 V( K# E$ ]3 R( [部署是以私有链并且没有创建任何账号和合约为例,如果已经创建账号和部署智能合约,请对号入座跳着看。# t5 j$ W' b2 v7 h- h5 X0 ?

: r6 M4 ^: `" Z0 l//重复1,2创建必备账号
+ b6 u6 j: p! z6 p) B% ^//eosio.token0 U5 k0 I+ [$ ~+ K( u! N( g- ^
//eosio.system
& _4 k  Z0 w3 i' I//eosio.ram
' |5 z# Y- ?; U  g+ Z//eosio.ramfee; i7 R* e4 R5 c1 V3 J
//eosio.stake
* O- m- x  l+ P5 Z//默认在代码根目录下执行9 `5 ?6 g, r/ b4 T
//1.创建密钥对# e* W" F+ G* c- R
cleos create key
! C# S* {) ^6 S6 c& F( i0 zPrivate key: 5KKibeZ9KX2bR3MZQnTRVx5aGgpGqtsuitkr21FkpwRERuRk4Ym! E+ r: m) Z& o0 ~
Public key: EOS7d1YqzyP52FBkfmyu5pLVPpKjWZ4Ld3DZg8997eFLLZWLb7QUL9 A; Z- W' G. O+ O
//2.创建账号; D+ r/ a8 `, L" k( w. `% o
cleos create account eosio eosio.token ${publicKey} ${publicKey}
  Q) k! d$ F5 p* z% L//部署eosio.token,发布代币9 c) u, P& H% R& y! g
cleos set contract eosio.token ../../contracts/eosio.token/
* ]  H  R/ I) vcleos push action eosio.token create '["eosio","1000000000.0000 EOS",0,0,0]' -p eosio.token
+ {* U6 ^. ]: J# L7 E, c2 `0 Pcleos push action eosio.token issue '["eosio","1000000000.0000 EOS","issue"]' -p eosio
2 t% t; z6 B- Z, K//部署eosio.system,报错如下,要保证开头注明的四个账号已经创建! h% j+ f7 k, {; o9 `( R) n' r
cleos set contract eosio ../../contracts/eosio.system/ -p eosio* a8 O, v; V& M  }' C+ m2 x3 M
Reading WAST/WASM from ../../contracts/eosio.system/eosio.system.wasm...! M' X/ F* _- Q3 }; ]' x& {
Using already assembled WASM...
( ?+ \* _  S7 N: u9 c7 Q" _Publishing contract...
3 N' H' w# x7 c5 S4 A  DError 3080006: transaction took too long
9 S) E! Y0 e( k+ U6 _- d6 [: `# u+ k0 j//注意
2 p: F3 X$ [* b0 u( J; z8 e/ t./eosio_build.sh -s "EOS"  购买资源的币种,要使用默认的币种,不写则为SYS- h: h7 k) T  E$ n% u
//创建交易账号. q4 c! R1 ]' }4 e) M% A* L& N% O
cleos system newaccount --stake-net "10.0000 SYS" --stake-cpu "10.0000 SYS" --buy-ram-kbytes 3 eosio eosiotest EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV  EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV 5 a& H( x( A  A* x0 B
//查看账号信息,输出资源信息则为部署成功/ V! x5 a# Q, M% \2 H2 A6 o
cleos get account eosiotest) R- u# N( ~) j( c# x/ f
permissions:
7 f5 ~$ b: z8 _& {- s- e     owner     1:    1 EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
' n2 v3 G: u5 Z2 X  _5 y$ ]7 U        active     1:    1 EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
# S" J9 j3 W7 k: M8 rmemory: 1 c7 v/ b" z- A
     quota:     2.973 KiB    used:     2.926 KiB  ; t) S( P8 v3 F6 ?- T
net bandwidth:
3 r  X' |6 K+ a, f     delegated:      10.0000 EOS           (total staked delegated to account from others)5 M* G* f- x7 ?' A
     used:                 0 bytes' k) v( v2 H; X3 t
     available:        8.145 TiB  
, A0 `, F5 ?! v* T  q2 ~' L# L0 B* Z     limit:            8.145 TiB  
/ H, F2 O5 [* s; d3 _% Icpu bandwidth:
7 y) E+ N% G5 r3 ?0 _     delegated:      10.0000 EOS           (total staked delegated to account from others)' T& M9 _& A8 q2 t2 o% M
     used:                 0 us   - Z8 i- k  X' a+ N& q" n, c
     available:        473.5 hr   
) [5 `4 C- T; |* W! {     limit:            473.5 hr/ W8 B  `2 u, P  x- H$ x2 I, P9 s( {
     4 b# S$ O5 _0 Y3 s
//给账号转账. J: q+ U' |* P3 _- x
cleos push action eosio.token transfer '["eosio","eosiotest","100.0000 SYS",""]' -p eosio2 l1 P9 J" K! p( I2 N- w( j
//再将eosiotest转账到eosio,验证资源是否减少
, S% W1 ^' @6 l' l; Mcleos push action eosio.token transfer '["eosiotest","eosio","100.0000 SYS",""]' -p eosio8 B6 y/ I+ h- ]6 f& D- J7 K
//再次查看账号信息,发现资源变少
) C2 @+ x1 X% ~% s! _7 Ycleos get account eosiotest
3 K+ ?* O& \0 T, Z问题汇总0 c; ]# i, e" z" v
Q:部署合约报错:unable to find key
: I$ X$ [1 J9 _9 Y" p0 l! ?; wA:4.0以后默认系统币名字是SYS,所以需要发布的代币修改成SYS,或者修改eosio_build.sh脚本中默认名称,重新进行编译(参考下图)! c1 O1 \% M6 h) W0 p4 A
( d; b0 U! V6 m$ Y* S
Q:transaction took too long
/ ^& S8 u- l' G1 S# g4 o, zA:nodeos程序启动时添加max-transaction-time或者修改config.ini对应属性,重新启动nodeos
, c% ]9 g9 I: X$ ]8 l2 g  M& RQ:to account does not exist
$ n( q9 h4 r+ N& L# ^- b/ l7 NA:在部署system合约之前,必须创建三个账号eosio.ram,eosio.ramfee,eosio.stake
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

放弃六月们 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    8