智能合约从入门到精通:JIDE集成开发工具

简介:前面两节,我们介绍了JIDE的工具库,本节我们将介绍智能合约开发最后一段内容,JIDE集成开发工具。除了JIDE的安装,我们还将介绍智能合约的编写、编译、部署、运行以及查看日志等。您看过所有的内容之后,将可以完整的开发出一个智能合约。
JIDE简介
JIDE是JUICE开放服务平台提供用来编写智能合约及DApp的免费开发工具,JIDE集成了JUICE底层测试链、编辑器和Solidity运行时环境,用户无需搭建任何环境就可以快速地编写、编译、部署、运行智能合约与发布DApp。
目前JIDE支持Solidity语言编写智能合约,这是以太坊的官方推荐语言,也是最流行的智能合约编写语言。
运行环境及安装

  • PC版
    要求WINDOWS 7及以上版本
    安装完成后,第一次使用时,需要配JUICE区块链地址信息。并且导入在JUICE开放服务平台创建的JUICE区块链账户钱包。
  • WEB版
    建议使用Chrome
    由于是在线版,因此不要配置JUICE区块链地址信息。
    注意:
    PC版本,IDE功能更强;而WEB版本,在本地文件处理时,功能比较弱。推荐使用PC版本IDE。

开始使用
基于JUICE平台开发合约需要注意合约目录文件以及库文件的命名规范以及一些需要遵循的规范,请参见第三章节合约开发部分
JIDE主要包含如下区域:
【文件管理区】:支持新建合约目录、合约文件;导入系统库、导入合约目录、文件;重命名/删除合约目录、文件等功能;
【代码编辑区】:支持代码编写,复制,粘贴,查找,替换,格式化,语法高亮,智能语法提示补充,代码告警,函数折叠等功能;
【编译合约区】:将当前选中的合约进行代码编译;
【部署运行合约区】:将编译成功的合约部署到链节点,部署成功后显示可执行的合约函数,输入相关参数进行合约调用执行;
【查询运行合约区】:输入合约地址、abi信息,点击查询显示可执行的合约函数,输入相关参数进行合约调用执行;
【输出控制台区块】:展示相关操作输出的日志信息,支持日志搜素等功能;
以上功能区,大部分支持快捷键操作,详见后文附录。

  • 操作步骤及说明

安装客户端并登陆后,点击【开发工具】进入PC版IDE
JIDE功能区域
编写合约
基于JUICE平台开发合约需要注意合约目录文件以及库文件的命名规范以及一些需要遵循的规范,请参见第三章节合约开发部分

  • 操作步骤及说明

新建/导入合约文件:点击左侧栏【合约文件管理区】按钮打开【文件管理区】,可以新建/导入合约文件,在代码编辑区域进行合约代码编写。目前IDE启动默认带有2个示例合约DemoContract.sol和DemoModule.sol,可供开发者参考
,SystemContracts目录下是引入JUICE相关内置合约)
注意:在开发业务合约前,请先导入Juice平台内置合约,选中项目,点击右键->导入系统库

编译合约
JIDE集成了solc编译器,默认对当前选中的合约进行编译,后台自动编译合约生成虚拟机代码,并将编译产生的abi和bin文件内容输出到控制台同时保存至IDE相关内存中进行管理,方便后续部署、运行合约

  • 操作步骤及说明

选中DemoContract.sol合约文件,点击左侧栏【编译合约】按钮,后台开始进行编译,同时控制台持续输出编译日志

编译成功,打印编译产生的bin code以及abi信息
编译失败,打印编译失败相关信息
部署合约
将编译成功的合约部署到链节点,后台使用已登录账号的私钥对合约编译内容进行签名并发布到链节点,部署成功后显示可执行的合约函数,输入相关参数进行合约调用执行

  • 操作步骤及说明

点击左侧栏【部署并运行合约】按钮,左侧区域会显示出当前已经编译成功的合约列表,选择需要部署的合约点击【部署合约】按钮,同时控制台持续输出部署日志
部署成功,返回部署结果:合约地址、交易Hash值、发起者钱包地址、合约abi等
部署失败,打印失败相关信息
查询合约
输入合约地址,abi信息,点击【查询】按钮,后台通过查询计算显示可执行的合约函数,输入相关参数进行合约调用执行

  • 操作步骤及说明

点击左侧栏【查询并运行合约】按钮,在左侧区域输入上一步部署成功的合约地址及abi信息,点击【查询合约】按钮

运行合约
部署合约成功或者查询合约成功后,界面显示出当前合约可执行的合约函数,选择需要运行的函数,提示输入相关参数,输入后点击【运行】按钮,后台使用已登录账号的私钥对执行报文进行签名并向链节点发起请求

  • 操作步骤及说明

选中需要运行的合约函数,按照提示输入函数运行所需参数,点击【运行】按钮,同时控制台持续输出运行日志

运行成功,返回运行结果
运行失败,打印失败相关信息
查看日志
编译、部署、运行合约过程中,IDE控制台会持续输出相关日志信息,并支持关键字搜索,方便开发者查看过程日志,同时部署合约的过程日志会缓存至本地(默认缓存最新750条),重启客户端后,仍可以获取相关日志

  • 操作步骤及说明

重启IDE后,点击【历史日志】按钮,获取历史部署日志

点击【运行日志】按钮,可以查看合约运行日志和系统运行日志

未来JUICE将会提供Java语言来编写智能合约,敬请期待!

参考内容:https://open.juzix.net/doc

智能合约开发教程视频:区块链系列视频课程之智能合约简介

原文地址:http://blog.51cto.com/13544628/2139219

时间: 2024-11-06 03:42:52

智能合约从入门到精通:JIDE集成开发工具的相关文章

智能合约从入门到精通:用Solidity开发一个“Hello World”

简介:上一章中我们聊到了智能合约的应用场景,在了解区块链技术目前的发展情况.智能合约的概念以及其应用场景之后,我们将在后续的文章中共同学习智能合约的编成语言.今天,我们就来简单地谈一谈用于编写智能合约的语言--Solidity语言. 那么,什么是Solidity语言呢?在前面的文章中我们反复提到过以太坊,以太坊做区块链2.0的典型代表,Solidity在以太坊中是撰写智能合约最受欢迎的语言,因此今天我们就和大家介绍一下这个作为智能合约开发中最主流的语言. Solidity是运行于Ethereum

智能合约从入门到精通:Solidity语法之内存变量的布局和状态变量的存储模型

简介:在前面我们已经讲过Solidity语言的一些语法内容,在矩阵元JUICE开放平台的JIDE开发时,一定要注意Layout in Memory和Layout of State Variables in Storage,即内存变量的布局和状态变量的存储模型.内存变量的布局(Layout in Memory) Solidity预留了3个32字节大小的槽位: 0-64:哈希方法的暂存空间(scratch space) 64-96:当前已分配内存大小(也称空闲内存指针(free memory poi

智能合约从入门到精通:智能合约的前世今生

简介:区块链技术由来已久.2008年,神秘的日裔美国人中本聪天才设计出来的电子货币系统:比特币,为人类打开了区块链的大门.2009年,他发布了首个比特币软件,并正式启动了比特币金融系统.依靠POW算法的比特币随着人们认知,2016年以后区块链也为人们所追捧.而以太坊的快速发展,区块链已经进化出智能合约.DApp等新的技术,区块链2.0.3.0时代也正在来临.本文将详细介绍智能合约是什么.区块链是分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式.所谓共识机制是区块链系统中实

智能合约从入门到精通:智能合约的应用场景

简介:上一章我们简单介绍了区块链技术的发展情况,并详细介绍智能合约的基础概念.可以说,区块链1.0时代(比特币)除了代币功能,与现实生活相去甚远.智能合约的出现,给区块链带来了巨大的变化,区块链也从一种账本形式,变成了下一代计算网络的雏形.这一章我们将聊聊智能合约的应用场景.在上一篇文章中我们聊过,尼克·萨博对智能合约定义已经说的很清楚,智能合约不是一定要用区块链来实现,很久之前就已经出现了:比如微信和支付宝的信用卡自动还款,您可以认为他是一种智能合约.当还款日到了,还款条件也满足(支付宝的余额

智能合约从入门到精通:Solidity语言的开发规范和开发流程

简介:上面介绍的在Solidity中嵌入的内联汇编语言也可以单独使用.实际上,它是被计划用来作为编译器的一种中间语言.本文我们将介绍开发智能合约过程中Solidity语言的开发规范和开发流程. Solidity作为编译器的一种中间语言.在开发智能合约时需要遵守相应的开发规范和开发流程. 开发规范 命名规范 目录和文件 目录使用小写,请勿使用特殊符号: 库文件和合约文件统一以.sol为后缀: 合约文件名保持与合约名一致: 文件名采用驼峰命名(首字母大写): 合约.库文件命名 合约名采用驼峰命名(首

智能合约从入门到精通:Solidity汇编语言

简介:上一节,我们讲过在JUICE平台开发智能合约的开发规范,本节我们将继续就Solidity定义的汇编语言进行更加深入的讨论.Solidity定义的汇编语言可以达到下述的目标:1.使用它编写的代码要可读,即使代码是从Solidity编译得到的.2.从汇编语言转为字节码应该尽可能的少坑.3.控制流应该容易检测来帮助进行形式验证与优化.为了达到第一条和最后一条的目标,Solidity汇编语言提供了高层级的组件比如,for循环,switch语句和函数调用.这样的话,可以不直接使用SWAP,DUP,J

智能合约从入门到精通:Solidity Assembly

简介:上一节,我们讲过Solidity 汇编语言,这个汇编语言,可以不同Solidity一起使用.这个汇编语言还可以嵌入到Solidity源码中,以内联汇编的方式使用.下面我们将从内联汇编如何使用着手,介绍其与独立使用的汇编语言的不同,最后再介绍这门汇编语言.Solidity Assembly内联汇编通常我们通过库代码,来增强语言我,实现一些精细化的控制,Solidity为我们提供了一种接近于EVM底层的语言,内联汇编,允许与Solidity结合使用.由于EVM是栈式的,所以有时定位栈比较麻烦,

智能合约从入门到精通:完整范例

简介:前几篇文章我们一直在讨论Solidity语言的相关语法,从本文开始,我们将介绍智能合约开发.今天我们将介绍一个完整范例.此章节将介绍一个完整案例来帮助开发者快速了解合约的开发规范及流程.注意:在进行案例编写前,请先前往JUICE开放服务平台,完成用户注册,JUICE区块链账户创建:并下载.安装.配置好JUICE客户端.场景描述在案例实践前请确保已拥有可用的JUICE区块链平台环境!!!现假设一个场景,编写一个顾客管理合约.主要实现以下功能: 提供增加顾客信息功能,手机号作为唯一KEY: 提

APICloud首款全功能集成开发工具重磅发布,彰显云端一体理念

近日,APICloud重磅推出首款云端一体的全功能集成开发工具--APICloud Studio 2.为了更深入了解这款开发工具的特性及优势,APICloud CTO 邹达针对几个核心问题做出了解答. 一.APICloudStudio 2是一款什么样的开发工具? 我们为APICloud Studio 2提炼出三个关键词,「Atom」.「云端一体」和「全功能集成」. 首先,APICloud Studio 2是一款基于Atom内核的开发工具.众所周知,Atom是一款主流.开源的前端编码工具,在Git