Bytom合约预编译

简介: 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在开发合约的过程中你们有没有遇到一些问题呢?比如编译合约的过程中不能实时动态的去检查我们所编译的合约文件是否正确,那么我今天就教大家一种很方便的方法。

比原项目仓库:

Github地址:https://github.com/Bytom/bytom

Gitee地址:https://gitee.com/BytomBlockchain/bytom

在开发合约的过程中你们有没有遇到一些问题呢?比如编译合约的过程中不能实时动态的去检查我们所编译的合约文件是否正确,那么我今天就教大家一种很方便的方法。可以让小伙伴们在编写合约的过程中,可以随时检查自己的合约编写是否正确。

首先要确保我们有go语言开发环境且版本高于1.8,如果没有搭建go语言开发环境,请自行百度。确保go支持的版本已经正确安装:

$ go version
$ go env GOROOT GOPATH

获取源代码并编译,参考链接:https://github.com/Bytom/equity

编译完了以后我们可以在equity下执行:

 ./equity/equity --help

获取合约的命令帮助。返回的截图如下:

图中标的1,2,3,4 分别表示执行命令所带参数的含义。图中3对应的 instance参数表示实例化合约,4对应的shift表示指定执行合约里面具体的函数。然后在项目下面创建一个合约文件(合约文件最好不带任何后缀名),如下图:

然后编写合约,我是用vim编译的合约,大家可以自行选择用vim或者编辑器编写合约。如果编译合约的过程中存在问题,请参考合约开发文档:https://bytom.github.io/mydoc_RPC_call.cn.html。下图是我在vim中编写的合约。

合约编写完了以后,如果合约编写错误或者存在语法错误,会出现如下图所示的情况,请检查自己编写的合约

检查无误以后,在对应的目录下面执行合约文件,然后就可以输出下图所示的二进制。说明合约编写成功

相关文章
|
JavaScript 测试技术 Go
Hyperledger fabric部署链码(一)打包链码
fabric部署chaincode-go(智能合约)系列之一
244 0
|
6月前
|
IDE 区块链 开发工具
智能合约开发环境搭建及Hello World合约
智能合约开发环境搭建及Hello World合约
93 1
|
存储 JSON 安全
Hyperledger fabric智能合约编写(一)
本篇文章主要对链码编写的主要思路和部分API进行梳理。
174 1
|
测试技术 API 区块链
Hyperledger fabric部署链码(三)批准链码定义
fabric部署chaincode-go(智能合约)系列之三
129 0
|
存储 安全 编译器
EVMPatch:自动修补以太坊智能合约
EVMPATCH的概念验证实现会自动加固智能合约,这些合约容易受到整数上溢/下溢和访问控制错误的影响,但可以轻松扩展以涵盖更多错误类。对14,000个现实合约的评估表明,本文工具成功地阻止了对合约发起的攻击交易,同时保持了合约的预期功能不变。研究者与经验丰富的软件开发人员进行了一项研究,结果表明EVMPATCH是实用的,并且可以将从给定的Solidity智能合约转换为可升级合约的时间减少97.6%,同时还可以确保与原始合约的功能等效。
115 2
|
Go 数据安全/隐私保护
Solidity笔记-合约间的互相调用
Solidity笔记-合约间的互相调用
234 0
|
区块链
solidity 合约间调用以及参数传递
在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理. contract1.sol pragma solidity ^0.4.0; contract Test1 { uint256 public v=7; function vote(uint256 a) pu...
3367 0
|
Java 区块链 开发工具
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(1)
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(1)
352 0
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(1)
|
JSON Java 区块链
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(3)
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(3)
253 0
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(3)
|
Java Go 区块链
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(2)
在Xuper链上部署Java语言智能合约和分析存证合约的实现逻辑(2)
242 0