System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向碳资产全环节交易的智能合约设计方法及系统技术方案_技高网

一种面向碳资产全环节交易的智能合约设计方法及系统技术方案

技术编号:40580264 阅读:6 留言:0更新日期:2024-03-06 17:23
本发明专利技术公开了一种面向碳资产全环节交易的智能合约设计方法及系统,涉及信息技术领域,包括:构建工具合约,建立合约对象,设置合约状态;建立合约构造方法,对参数初始化操作,同时建立包括购买者及出售者注册方法、判断是否注册的方法、购买者及出售者登录方法;对碳配额分配、发布碳排放信息、购买额度,建立碳资产交易流程;部署智能合约,执行交互测试与安全性验证;基于计智能合约,构建碳资产全环节交易流程。本发明专利技术提供的面向碳资产全环节交易的智能合约设计方法提高了碳资产全环节交易效率,智能合约可以提供透明度和可追溯性,使得整个交易过程变得公开和透明,从而减少了信息不对称的问题,从而提高交易的效率和降低交易成本。

【技术实现步骤摘要】

本专利技术涉及信息,具体为一种面向碳资产全环节交易的智能合约设计方法及系统


技术介绍

1、随着对区块链技术深入的研究,基于区块链的应用也不仅仅限于最初的电子货币,更多的是向着智能合约的方向发展,将智能合约技术应用到复杂的业务场景中,真正实现去中心化应用。

2、比特币中交易是由脚本实现的,脚本可以理解为区块链中的第一代智能合约。但比特币的脚本不支持循环控制,无法应用于复杂的业务场景。以太坊致力于完全去中心化的智能合约平台,在扬弃比特币缺陷的基础上,提供了能够执行图灵完备脚本语言的虚拟机,开发者能够在以太坊区块链平台上通过编写智能合约实现业务逻辑更加复杂的去中心化应用,这也使得包括金融机构、政府部门、科技公司等在内的各行各业研究基于区块链的去中心化应用。

3、目前,现有的碳资产交易还存在公信力和监管不足等问题,鉴于此,有必要研究一种面向碳资产全环节交易的智能合约设计方法,通过以太坊区块链平台,将区块链技术和智能合约技术应用到碳资产全环节交易中。

4、由于碳交易产品的是一种虚拟产品,区块链作为一种去中心化的数据库,运用透明的数学算法保证链中存储数据安全不可篡改特性,可以很好地将碳排放权这一虚拟物品存储到链中进行交易,利用密码学方式保证数据传输和访问的安全,利用自动化脚本代码组成的智能合约可以对链中数据进行智能交易。

5、在以太坊开源平台,将区块链进行黑箱设计,编写智能合约,并将智能合约部署在区块链私有链中,实现碳排放交易的基本功能,使交易数据能够记录到区块链中。分别实现交易平台注册管理模块、信息模块、交易模块、结算模块、辅助模块具体功能。完成用户登录、记录查询、余额查询、发布信息、撮合成交、风险控制、市场监管等综合功能,设计了基于以太坊智能合约技术的碳排放交易平台。


技术实现思路

1、鉴于上述存在的问题,提出了本专利技术。

2、因此,本专利技术解决的技术问题是:采用该智能合约方法对全环节碳资产交易,确保交易的高效、安全、便捷。该方法对全环节碳排放交易过程中网上开户、客户管理、交易管理、挂单申报、撮合成交、行情发布、风险控制、市场监管等功能提供综合、交易信息服务的全环节基础设施,保障了碳资产交易数据的安全可信。

3、为解决上述技术问题,本专利技术提供如下技术方案:一种面向碳资产全环节交易的智能合约设计方法,包括:构建工具合约,设置合约状态,建立合约对象;建立合约构造方法,对参数初始化操作,同时建立包括购买者及出售者注册方法、判断是否注册的方法、购买者及出售者登录方法;对碳配额分配、发布碳排放信息、购买额度,建立碳资产交易流程;部署智能合约,执行交互测试与安全性验证;基于智能合约,构建碳资产全环节交易流程。

4、作为本专利技术所述的面向碳资产全环节交易的智能合约设计方法的一种优选方案,其中:在构建智能合约中,合约与前端页面交互,所述工具合约用于将前端页面string类型数据转换为智能合约bytes32类型数据,使主合约继承工具类合约;所述设置合约状态基于所构建工具合约,该合约状态包括对碳排放权出售者及购买者建立碳资产账户地址、密码、碳排放权额度、已售及已购碳排放权属性;所述建立合约对象包括对碳排放权出售者、购入者、碳排放权结构体进行封装,对碳排放权出售者及购买者建立碳资产账户地址、密码、碳排放权额度、已售及已购入碳排放权属性,并建立用户身份数据结构表。

5、作为本专利技术所述的面向碳资产全环节交易的智能合约设计方法的一种优选方案,其中:对合约状态、主体进行封装后,所述建立合约构造方法针对每个功能模块中对外提供的方法进行具体设计;在智能合约构造函数中,设置合约拥有者为合约创建者的账户地址,当有新的客户希望注册时,调用newcustomer函数进行注册,函数接收地址customeraddr和密码stringpassword作为参数,在注册过程中,首先检查该客户是否已经注册过,若没有注册,将该客户的地址和密码保存到customer映射中,并将客户地址添加到customer数组中,通过newcustomer事件通知注册是否成功;在查询客户密码函数中,调用函数getcustomerpassword,若客户已注册,则返回查询到的密码,否则返回空字符串,定义名为carbon的构造函数,给合约的owner属性赋值为合约的部署者,通过调用getcustomerpassword函数查询指定地址的客户密码,在查询前检查地址是否已注册过,若已注册,返回true和对应地址的密码,若未注册,返回false;当使用web3.js接口时,交易方法无法直接使用returns返回数据值,默认的返回值是交易哈希,使用event发送事件的方式返回值。

6、作为本专利技术所述的面向碳资产全环节交易的智能合约设计方法的一种优选方案,其中:对智能合约交易主体、内容和方法构建完成后,所述部署智能合约进行语法检查,在第一命令行终端开启testrpc服务,在第二终端命令行进入项目根目录,执行命令,所述执行命令包括编译智能合约,若合约存在语法错误,编译将失败,并提示错误信息,若只修改一个合约,但是项目有多个合约,想要修改后同时编译所有合约,执行trufflecompile--compile-all命令;所述部署智能合约中,将编译完成的合约部署到以太坊客户端testrpc中,若命令由于异常执行失败,执行trufflemigrate--rest命令;所述部署智能合约中,开启truffle本地服务器默认使用8080端口,并将项目自动化部署到truftl服务器中,同时在另一个开启testrpc的终端中,打印出区块链日志,所述区块链日志包括被调用的方法、交易哈希、区块号、花费的gas值信息;对智能合约转换,将转换的evm字节码存入交易中data数据字段,并通过rpc接口将交易数据上传至以太坊网络,经过虚拟机执行并由共识算法达成一致后,最终将智能合约主体以及交易数据部署至区块链上。

7、作为本专利技术所述的面向碳资产全环节交易的智能合约设计方法的一种优选方案,其中:所述交互测试包括发送交易,利用部署后的智能合约代码存储在账户中codehash字段对应的代码段上,用户进行外部调用时,合约代码被虚拟机重新加载运行;所述合约代码被虚拟机重新加载运行包括发送交易修改区块链数据,调用记录存储在区块链上,全局状态结果存储在状态数据库中,账户之间的转账交易,转账金额记录在区块链上,账户余额增减存储到状态数据库中;消息调用操作查询区块链数据,不会记录在区块链上,也不改变合约内部的状态,智能合约支持事件机制,实现异步调用,通过监听合约事件,获取事件信息验证交易执行是否成功。

8、作为本专利技术所述的面向碳资产全环节交易的智能合约设计方法的一种优选方案,其中:所述安全性验证包括根据智能合约验证工具oyente检测合约是否包含可重入漏洞、算术漏洞以及漏洞之间是否有相关性,根据检测合约结果,若针对引起the dao攻击的可重入漏洞,采用基于卷积神经网络的自动化智能合约漏洞检测方法,若要充分反映不同漏洞发生的共同本文档来自技高网...

【技术保护点】

1.一种面向碳资产全环节交易的智能合约设计方法,其特征在于,包括:

2.如权利要求1所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:在构建智能合约中,合约与前端页面交互,所述工具合约用于将前端页面string类型数据转换为智能合约bytes32类型数据,使主合约继承工具类合约;

3.如权利要求2所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:对合约状态、主体进行封装后,所述建立合约构造方法针对每个功能模块中对外提供的方法进行具体设计;

4.如权利要求3所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:对智能合约交易主体、内容和方法构建完成后,所述部署智能合约进行语法检查,在第一命令行终端开启TestRPC服务,在第二终端命令行进入项目根目录,执行命令,所述执行命令包括编译智能合约,若合约存在语法错误,编译将失败,并提示错误信息,若只修改一个合约,但是项目有多个合约,想要修改后同时编译所有合约,执行trufflecompile--compile-all命令;

5.如权利要求4所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:所述交互测试包括发送交易,利用部署后的智能合约代码存储在账户中Codehash字段对应的代码段上,用户进行外部调用时,合约代码被虚拟机重新加载运行;

6.如权利要求5所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:所述安全性验证包括根据智能合约验证工具Oyente检测合约是否包含可重入漏洞、算术漏洞以及漏洞之间是否有相关性,根据检测合约结果,若针对引起The DAO攻击的可重入漏洞,采用基于卷积神经网络的自动化智能合约漏洞检测方法,若要充分反映不同漏洞发生的共同内在关联,采用基于改进分类器链的智能合约漏洞检测方法。

7.如权利要求6所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:所述构建碳资产全环节交易流程基于安全性验证后的智能合约,构建碳资产全环节交易流程,包括交易主体注册与管理环节、碳资产信息查询环节、交易环节、资金结算环节、辅助环节,实现面向碳资产全环节交易的智能合约设计;

8.一种采用如权利要求1~7任一所述的面向碳资产全环节交易的智能合约设计方法的系统,其特征在于,包括:注册管理模块、信息模块、交易模块、结算模块以及辅助模块;

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的面向碳资产全环节交易的智能合约设计方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的面向碳资产全环节交易的智能合约设计方法的步骤。

...

【技术特征摘要】

1.一种面向碳资产全环节交易的智能合约设计方法,其特征在于,包括:

2.如权利要求1所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:在构建智能合约中,合约与前端页面交互,所述工具合约用于将前端页面string类型数据转换为智能合约bytes32类型数据,使主合约继承工具类合约;

3.如权利要求2所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:对合约状态、主体进行封装后,所述建立合约构造方法针对每个功能模块中对外提供的方法进行具体设计;

4.如权利要求3所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:对智能合约交易主体、内容和方法构建完成后,所述部署智能合约进行语法检查,在第一命令行终端开启testrpc服务,在第二终端命令行进入项目根目录,执行命令,所述执行命令包括编译智能合约,若合约存在语法错误,编译将失败,并提示错误信息,若只修改一个合约,但是项目有多个合约,想要修改后同时编译所有合约,执行trufflecompile--compile-all命令;

5.如权利要求4所述的面向碳资产全环节交易的智能合约设计方法,其特征在于:所述交互测试包括发送交易,利用部署后的智能合约代码存储在账户中codehash字段对应的代码段上,用户进行外部调用时,合约代码被虚拟机重新加载运行;

6.如权利要求5所述的面...

【专利技术属性】
技术研发人员:尹钰君熊峻徐飞沈鑫李家浩蔡华祥王帮灿陈然杨璇骆钊张绍芳刘德文
申请(专利权)人:云南电网有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1