創建發佈智能合約

 

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

相關文章
相關標籤/搜索