注意:最佳开发体验是在MacOS系统下。
1. 下载并安装robin集成开发测试框架
sudo npm install -g robin-framework
如果输入robin
或robin -h
或robin --help
,有帮助信息输出,则说明robin框架安装成功;
如果提示robin的版本过于旧,请重新安装robin:
2. 使用robin命令行初始化一个合约项目并安装依赖
2.1. 首先创建一个空的目录,并cd到新目录下执行:
robin init
或者
robin init --name MyContract
2.2. 然后通过npm安装依赖:
npm install
2.3. 最后,使用Javascript开发IDE WebStorm或VsCode,打开合约项目。
3. 下载并安装longclaw本地超脑链环境
3.1. longclaw依赖docker环境,请先安装docker,如果已安装,请跳过这一步;
从 docker center下载并安装: docker: https://docs.docker.com/docker-for-mac/install/
3.2. 如果已有docker环境,请添加docker的中国仓库镜像地址.
对于使用 macOS 的用户,在任务栏点击 Docker for mac 应用图标 -> Perferences... -> Daemon -> Registry mirrors。在列表中填写加速器地址 https://registry.docker-cn.com。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
3.3. 从 开发者门户网 下载longclaw安装文件
3.4. 安装并启动longclaw,此过程需要等待大约两分钟,用来构建本地共识网络环境及初始化数据
4. 参考开发者文档及合约模板开发一个合约
4.1. 开发文档参考
4.2. 开发支持论坛
5. 使用robin进行语法及安全性检查并进行错误修复
> robin lint
robin lint
命令会自动检查语法错误并尝试修复。
6. 编译合约为webassembly目标格式文件
如果测试用例都通过,接下来就是编译,运行命令:
> robin build
robin build
会生成*.abi, *.wast, *wasm三个目标文件。
7. 部署合约目标文件至longclaw本地超脑链环境
> robin deploy
执行robin deploy
前需要修改或确认链交互相关的配置信息,比如配置项:httpEndpoint
、logger
、broadcast
、sign
、chainId
, keyProvider
等。如果部署成功,在longclaw中会显示对应的交易信息,而10秒之后,出产生块确认信息。
注意: httpEndpoint and httpEndpoint_history 分别是超脑链实时数据接口节点与历史数据接口节点,如果你已经启动longclaw,那么你不必修改它们. chainId 你可以像下面这样获得
const u3 = createU3();
await u3.getChainInfo((err, info) => {
console.log(info);
});
8. 借助u3.js、u3-utils等工具类编写测试用例
测试用例的编写可以参考token.spec.js,或者u3.js中的index.test.js。同时借助于u3-utils等工具类。运行测试用例可以使用命令:
> robin test