井通合约编写部署帮助文档

2023-10-08 03:20

本文主要是介绍井通合约编写部署帮助文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

井通合约使用有两种方式:

1).通过合约使用网站:http://contract.jingtum.com。
2).使用井通api。

1 井通合约脚本规范

编写井通合约需遵循以下规范才可保证合约正确执行。
1.1 编写合约需使用lua语言 但是lua脚本不支持lua的io操作和lua模块的引用操作,以下类似操作在合约编写中是不合
法的:
1) print(‘hello’)
2) require(“module”)
1.2 合约固定基本格式 1)合约以result={};语句开始。该table类型确保合约有正确的返回值类型。合约执行的结
果通过该table返回,该table类型中包含两个值,布尔类型:result[‘state’]和字符串类型: result[‘res’]。result[‘state’]中存放合约执行状态,true表示合约执行成功,false表示合约执行 失败。result[‘res’]中存放合约执行结果或错误信息。当result[‘state’]为false时,存放错误信息, 当result[‘state’]为true时,存放合约执行的结果。
2)所有合约函数的参数都是一个table类型。合约脚本中必须包含一个Init(t)函数。该函数 的作用是存储合约执行中需要的一些参数。具体参数由合约具体功能决定。

2 通过合约网站使用合约步骤 2.1 合约部署步骤

这里写图片描述
按上图的要求填写好字段后,点击部署合约按钮。如果部署成功会出现下面的界面:
这里写图片描述

如果部署失败上图会显示错误信息。部署成功后记录下合约账号,可以进行合约执行。
2.2 合约执行步骤

这里写图片描述
按照上图填写好参数后,点击执行合约按钮。执行成功会出现如下界面
这里写图片描述
如果执行失败上图会显示失败原因。

3 通过井通API使用合约方式 3.1 部署合约

接口:/v2/accounts/{:address}/contract/deploy,POST方法 接口参数:
这里写图片描述
POST需要提交的参数格式如下:

{
"secret": "snUaJxp2k4WFt5LCCtEx2zjThQhpT",
"amount": 10,
"params": ["jsqRs9BDCjyTuRWEPZk3yHa4MFmRi9D834"],
"payload": "result={}; function Init(t) result=scGetAccountInfo(t) return result end; function foo(t) a={} result=scGetAccountInfo(t) return result end"
}

例子:
http://localhost/v2/accounts/jsqRs9BDCjyTuRWEPZk3yHa4MFmRi9D834/contract/deploy
结果:
这里写图片描述

返回的结果信息:
这里写图片描述
3.2 调用合约 接口:/v2/accounts/{:address}/contract/call,POST方法
接口参数:
这里写图片描述
这里写图片描述
POST需要提交的参数格式如下:

{
"secret": "snUaJxp2k4WFt5LCCtEx2zjThQhpT",
"destination": "jKotgzRHyoa7dywd7vf6LgFBXnv3K66zEg",
"params":  ["jsqRs9BDCjyTuRWEPZk3yHa4MFmRi9D834"],
"foo": "foo"
}

例子:
http://localhost/v2/accounts/jsqRs9BDCjyTuRWEPZk3yHa4MFmRi9D834/contract/call
结果:
这里写图片描述
这里写图片描述

作为一个开发者,有一个学习的氛围跟一个交流的圈子特别重要,下面是我们的社区交流群,不管你是小白还是大牛欢迎入住,分享经验、讨论技术、社区开发。大家一起交流学习共同成长!希望开发者少走弯路。
1.社区开发者大赛 QQ 群:568285439
2.社区论坛:http://bbswtc.com
3.社区公众号:SWTC 互动社区、SWTC 社区
4.github:https://github.com/swtcpro

这篇关于井通合约编写部署帮助文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/162359

相关文章

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach