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