创建发布智能合约

 

1.编译智能合约git

在eos的源代码下面提供了不少智能合约的例子,目录作contract目录下,咱们就以官方的hello这个智能合约为例。打开目录能够看到一个cpp和一个abi文件。在eos里面提供了一个命令eosiocpp,这个命令是用来编译智能合约的,该命令作./build/tools这个目录下。github

eosiocpp -o hello.wast hello.cpp安全

 eosiocpp -g hello.abi hello.cppide

第一个是用了编译钱包,第二个是用来编译abi文件的。ui

 

2.建立钱包:首先你得有本身的钱包,钱包要安全就要有一个密码。建立钱包以下:this

./cleos wallet create -n hello --to-consolespa

"/Users/amei/github/eos/build/programs/keosd/keosd" launched命令行

Creating wallet: helloit

Save password to use in the future to unlock this wallet.io

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

相关文章
相关标签/搜索