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中编写的合约。

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

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

相关文章
|
18天前
|
IDE 区块链 开发工具
智能合约开发环境搭建及Hello World合约
智能合约开发环境搭建及Hello World合约
33 1
|
9月前
|
存储 安全 编译器
EVMPatch:自动修补以太坊智能合约
EVMPATCH的概念验证实现会自动加固智能合约,这些合约容易受到整数上溢/下溢和访问控制错误的影响,但可以轻松扩展以涵盖更多错误类。对14,000个现实合约的评估表明,本文工具成功地阻止了对合约发起的攻击交易,同时保持了合约的预期功能不变。研究者与经验丰富的软件开发人员进行了一项研究,结果表明EVMPATCH是实用的,并且可以将从给定的Solidity智能合约转换为可升级合约的时间减少97.6%,同时还可以确保与原始合约的功能等效。
56 2
|
Go 数据安全/隐私保护
Solidity笔记-合约间的互相调用
Solidity笔记-合约间的互相调用
201 0
|
JavaScript 前端开发 Go
【智能合约】Go语言调用以太坊 | geth
目录 1. geth 简介 1.1 下载地址: 1.2 安装: 1.3 查看是否安装成功 2. geth命令介绍 3. geth常用命令 3.1 指定数据目录 --datadir 3.2 账户相关 3.3 控制台console: 3.4 删除数据: 3.5 help 3.6 常见错误 4. Go语言调用合约 4.1 启动rpc端口 4.2 Go调用以太坊 4.3 调用接口 net_version net_listening net_peerCount eth接口 personal接口 db接口 最后
1019 0
【智能合约】Go语言调用以太坊 | geth
|
区块链 编译器
以太坊Truffle框架如何修改solidity版本?
当使用truffle开发以太坊solidity合约时,经常碰到的一个问题,就是你的solidity合约代码所要求的编译器版本,与truffle预装的solitiy编译器版本不匹配。本文将介绍如何更改truffle中的solidity版本。
1817 0
|
区块链
solidity 合约间调用以及参数传递
在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理. contract1.sol pragma solidity ^0.4.0; contract Test1 { uint256 public v=7; function vote(uint256 a) pu...
3325 0
|
JavaScript 测试技术 区块链
十步搞定HelloWorld--部署和测试Solidity第一个合约
十步搞定HelloWorld--部署和测试Solidity第一个合约
210 0
十步搞定HelloWorld--部署和测试Solidity第一个合约
|
存储 IDE 程序员
Solidity编译警告的解决之道
Solidity编译警告的解决之道
256 0