建立发布智能合约
时间: 2018-09-06来源:OSCHINA
前景提要
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>

1.编译智能合约
在eos的源代码下面提供了很多智能合约的例子,目录做contract目录下,我们就以官方的hello这个智能合约为例。打开目录可以看到一个cpp和一个abi文件。在eos里面提供了一个命令eosiocpp,这个命令是用来编译智能合约的,该命令做./build/tools这个目录下。
eosiocpp -o hello.wast hello.cpp
eosiocpp -g hello.abi hello.cpp
第一个是用了编译钱包,第二个是用来编译abi文件的。

2.创建钱包:首先你得有自己的钱包,钱包要安全就要有一个密码。创建钱包如下:
./cleos wallet create -n hello --to-console
"/Users/amei/github/eos/build/programs/keosd/keosd" launched
Creating wallet: hello
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5KHueikjSWMHvUS3vrKcKRrBSaeMiEGnT1T1EEc9pZhSBhG8sgV"

红色字的是命令行,创建了一个名字为hello的钱包,绿色字的为生成的密码,这个需要保持起来。
钱包可以上锁可以解锁,上锁使用 ./cleos wallet lock -n hello
开锁使用:./cleos wallet unlock -n hello --password PW5KHueikjSWMHvUS3vrKcKRrBSaeMiEGnT1T1EEc9pZhSBhG8sgV
开锁必须要使用密码。

3.创建key:下来就是创建一个账户,即要创建一个公钥和私钥了。创建key命令如下:
./cleos create key --to-console
Private key: 5JpjnxzTHV7owvn8KVZcmDXpLCbQP7VcDL61XhZLs8iBQFrZ4U4
Public key: EOS7A6h4FALtyUXCpNH725tH9MQ3c2D7ZT8jhj3k19r3gpvXD22ST
这样就生成了。
将生成的私钥导入到钱包中:
./cleos wallet import -n hello --private-key 5JpjnxzTHV7owvn8KVZcmDXpLCbQP7VcDL61XhZLs8iBQFrZ4U4
imported private key for: EOS7A6h4FALtyUXCpNH725tH9MQ3c2D7ZT8jhj3k19r3gpvXD22ST

4.创建账户:./cleos create account eosio flyup EOS7A6h4FALtyUXCpNH725tH9MQ3c2D7ZT8jhj3k19r3gpvXD22ST
eosio是超级账户,在创建过程中可能会遇到如下问题:
Provided keys, permissions, and delays do not satisfy declared authorizations
这个问题可能是因为默认账户没有导入相应的私钥,所以中创建自己的钱包之前需要个默认的钱包也要导入私钥。

5.发布一个智能合约
./cleos set contract flyup ../../contracts/hello -p flyup

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行