比原项目仓库:

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

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

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

大家有没有发现很简单呢?快点实践起来吧!如果在开发的过程中遇到问题,请在我们的社区联系我们:https://github.com/Bytom/

Bytom合约预编译的更多相关文章

  1. 警惕!高版本VS发布时预编译导致Mono中Razor找不到视图

    早前一段时间,一位朋友在Q群里面找到我,说它按照<Linux.NET学习手记>的操作,把一个ASP.NET MVC 4.0的项目部署到Mono之后出现Razor无法找到视图的现象.当时费了 ...

  2. .NET MVC Razor模板预编译(二)

    在前面一片文章:<.NET MVC4 Razor视图预编译(一)> 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组 ...

  3. .NET MVC4 Razor视图预编译(一)

    在平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果 ...

  4. JDBC_part2_DML以及预编译_编写DBUtil工具类

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! jdbc day02 DML语法 比起插叙语句,没有R ...

  5. javascript中的预编译问题

    Js作为脚本语言,可以不需要编译直接运行,但遇到类似变量或者函数同名,预编译方面的知识可以帮助我们更好解决问题. 示例: 这是一段js中普通的函数调用代码 <script>1.    // ...

  6. DelphiXE10.1项目中增加预编译的方法

    操作: 菜单选择Proceject->Options->Delphi Compilerz在Conditional Defines(第一行)中添加预编译标识.例:VCL代码:uses{$IF ...

  7. C语言的傻瓜式随笔(二):全局变量、预编译、goto

    函数的作用:可以实现代码的重用. 函数只需要定义1次,那么函数中的代码就可以随意的调用.       -某不知出处的基本概念 学而时习之,如有误笔,请指正 一.goto跳转语句 goto在C语言的作用 ...

  8. 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图

    这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配 ...

  9. 关于JavaScript预编译和执行顺序以及函数引用类型的思考

    昨晚在对项目中的一部分做模块化处理的时候,遇到了一个问题,一个重新定义的function对一个通用类中的function进行赋值覆盖的时候,失败了.问题抽象出来是这样的: <script > ...

随机推荐

  1. JBPM工作流(四)——管理流程定义

    概念: ProcessDefinition,流程定义:一个流程的步骤说明,如一个请假流程.报销流程.是一个规则. ProcessDefinition,流程定义对象,是解析.jpdl.xml文件得到流程 ...

  2. 23、svn与打飞机

    svn与git 打飞机 css *{margin:0; padding:0;} html,body{width:100%; height:100%; overflow: hidden;} .main{ ...

  3. Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster

    Spark YARN Cluster mode get this error "Could not find or load main class org.apache.spark.depl ...

  4. table中内容过长,table改变的问题

    在看效果时发现在Chrome中的table已经不是原来设置的宽度了,而其他浏览器是好的,经过百度发现是单元格内容过多造成的,但这时候给td设置宽度已经不适用了,此时就要给table设置 table{t ...

  5. Newtonsoft.Json转换强类型DataTable错误:Self referencing loop detected with type ......

    问题,在使用Newtonsoft.Json对强类型的DataTable进行系列化时会出现循环引用错误 解决办法,不要直接系列化强类型的DataTable,改为 JsonConvert.Serializ ...

  6. git fork代码并修改胡提交到自己的git仓库

    最近在参加阿里天池大数据中间件比赛(毫无头绪,打酱油中).看参赛要求,需要将官网的git工程clone下来,在此基础上做修改后提交到自己的仓库中. 由于以前并没有使用过git,所以差了比较多的资料,做 ...

  7. [ssh] 通过ssh私钥生成公钥的方法

    ssh-keygen -y -f .ssh/id_rsa.key id_rsa.key是私钥.

  8. 对text字段聚合,没有设置fielddate所以出错

    http://192.168.60.26:9200/linewell_assets_mgt_es_yh_test/lw_devices/ _mapping { "properties&quo ...

  9. 1、js比较日期的大小

    ① html <div class="ptb10"><span>共享开始时间:</span><input type="text& ...

  10. JDK8新增接口的默认方法与静态方法

    JDK8之前,interface中可以定义常量和抽象方法,访问修饰符是public. public interface A { /** a1和a2写法是等价的 */ public static fin ...