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