博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
建立发布智能合约
阅读量:6298 次
发布时间:2019-06-22

本文共 1560 字,大约阅读时间需要 5 分钟。

hot3.png

 

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

 

转载于:https://my.oschina.net/u/1013544/blog/1975981

你可能感兴趣的文章
我的友情链接
查看>>
vim使用点滴
查看>>
embedded linux学习中几个需要明确的概念
查看>>
mysql常用语法
查看>>
Morris ajax
查看>>
【Docker学习笔记(四)】通过Nginx镜像快速搭建静态网站
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看>>
<转>云主机配置OpenStack使用spice的方法
查看>>
java jvm GC 各个区内存参数设置
查看>>
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
基于RBAC权限管理
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>
dojo.mixin(混合进)、dojo.extend、dojo.declare
查看>>
Python 数据类型
查看>>