基于以太坊的智能合约开发入门
环境安装
现在我选择这里 Ubuntu 16.10 LTS 版本
- 安装nodejs 环境 (通过apt-get 安装的默认是nodejs 4.2.6) 建议安装官网较新的版本
接着修改registry地址 为淘宝镜像或者其他国内镜像可以加速包安装过程
12npm config set registry https://registry.npm.taobao.orgnpm info underscore (如果上面配置正确这个命令会有字符串response)可选安装yarn 一个号称能比npm更快的包管理工具 ( npm install -g yarn )
- 如果不是安装的最新的nodejs 可以用下面的方法升级( npm install -g n && n stable )
- 接下来安装 truffle ( npm install -g truffle 或者使用yarn 安装 yarn global add truffle )
- 安装 testrpc 或者 geth ( 开发测试可以直接安装 testrpc npm install -g testrpc ; yarn global add testrpc )
- 安装 solc 用web3js 可以生成 abi文件和bin文件 ( npm install -g solc ; yarn global add solc )
下载安装web3j wapper tool web3j tool
解压即可使用 bin/web3j solidity generate … …npm 和yarn命令转换cheat sheet
使用truffle 初始化项目,并编写智能合约,生成智能合约abi文件和bin文件等
初始化项目 truffle-demo ( mkdir truffle-demo && cd truffle && truffle init )
- 编写智能合约,并编译 ( truffle compile )
- 启动区块链测试环境 testrpc
修改配置文件 truffle.js 的host为127.0.0.1或者localhost ,端口按testrpc提示修改
修改migration目录下的migrate 文件 执行 ( truffle migrate )
- truffle console 进入控制台进行简单验证
truffle build 编译
truffle publish 发布
truffle networks 发布
- 导出abi文件和bin文件 ( solcjs contracts/ConvertLib.sol –abi –bin –optimize -o build/ –verbose )
- 导出abi文件和bin文件 ( web3j solidity generate xxx.bin xxx.abi -p com.xxx.smart.contracs -o outputdir )
注意参数有先后顺序,先xxx.bin 再xxx.abi 反了会报错的