CN112598466A - 一种基于联盟链的农机自助付费租赁方法 - Google Patents

一种基于联盟链的农机自助付费租赁方法 Download PDF

Info

Publication number
CN112598466A
CN112598466A CN202011535093.XA CN202011535093A CN112598466A CN 112598466 A CN112598466 A CN 112598466A CN 202011535093 A CN202011535093 A CN 202011535093A CN 112598466 A CN112598466 A CN 112598466A
Authority
CN
China
Prior art keywords
agricultural machinery
account
function
lease
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011535093.XA
Other languages
English (en)
Other versions
CN112598466B (zh
Inventor
吕滢
卞立平
罗智彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Zhimai Information Technology Co ltd
Original Assignee
Nanjing Zhimai Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Zhimai Information Technology Co ltd filed Critical Nanjing Zhimai Information Technology Co ltd
Priority to CN202011535093.XA priority Critical patent/CN112598466B/zh
Publication of CN112598466A publication Critical patent/CN112598466A/zh
Application granted granted Critical
Publication of CN112598466B publication Critical patent/CN112598466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0042Coin-freed apparatus for hiring articles; Coin-freed facilities or services for hiring of objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于联盟链的农机自助付费租赁方法,包含以下部分:(1)基于联盟链FISCO BCOS架构节点共识机制的账户管理,(2)Solidity智能合约设计、编译和部署,(3)农机租赁信息上链并智能验证和预警。本发明通过联盟链的共识机制属性对权限进行自动化管理,更严格精确,不会被人为篡改;联盟链的区块时间戳可以帮助快速定位需要查找的农机租赁信息数据;农机租赁信息数据一经上链存证无法被人为修改,数据更安全诚信可靠;在不影响数据上链效率的情况下,拓宽了单次数据上链的业务应用层次,实现了自动验证和预警行为。

Description

一种基于联盟链的农机自助付费租赁方法
技术领域
本发明涉及一种基于联盟链的农机自助付费租赁方法,尤其涉及的是(1)基于联盟链FISCO BCOS架构节点共识机制的账户管理,(2)Solidity智能合约设计、编译和部署,(3)农机租赁信息上链并智能验证和预警。
背景技术
目前,市场上现有的农机自助租赁系统与方法,大部分只是单纯地完成农机预约和归还的过程管理,无法做到租赁记录可信存证、信用黑名单、避免掮客分成、租赁信息实时监管、区域性农机综合化治理等高级管理功能。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种可保障信用信息诚信度、数据安全不易被篡改、可实现高效检索数据、可自动化实现分权限治理的、基于FISCO BCOS联盟链架构的农机自助付费租赁的实现方法。
本发明基于FISCO BCOS联盟链架构,对农机自助租赁系统的出借方、租赁方、监管方的账号管理模式进行设计,对控制租赁业务模式的Solidity智能合约进行设计,并将租赁记录和信用分数据上链存证并实现智能验证和报警。
本发明所涉及的发明内容,有效解决了以下农机自助租赁的信息管理、信用管理痛点:(1)农机租赁信息和信用信息无法做到一经存储不被人为篡改;(2)监管方较难在某一地区范围实现对多家企业的农机租赁信息数据,实现自动的、严格的分权限治理和数据查询;(3)较难避免掮客转租、冒名租赁的不诚信行为。
同时,本发明所涉及的发明内容,具有以下技术优势:(1)通过联盟链的共识机制属性对权限进行自动化管理,更严格精确,不会被人为篡改;(2)联盟链的区块时间戳可以帮助快速定位需要查找的农机租赁信息数据;(3)农机租赁信息数据一经上链存证无法被人为修改,数据更安全诚信可靠;(4)在不影响数据上链效率的情况下,拓宽了单次数据上链的业务应用层次,实现了自动验证和预警行为。
技术方案:一种基于联盟链的农机自助付费租赁方法,包含以下部分:(1)基于联盟链FISCO BCOS架构节点共识机制的账户管理,(2)Solidity智能合约设计、编译和部署,(3)农机租赁信息上链并智能验证和预警。
实现基于联盟链FISCO BCOS架构节点共识机制的账户管理,包括如下步骤:
步骤101,将节点按权限等级设定分为3种类型:“平台监管节点”、“出借农机企业节点”和“普通节点”。通过根证书CA签发的R证书,在服务器注册进入联盟链中时,标定单个服务器将成为的节点类型。
步骤102,通过根证书CA签发的SDK证书允许“监管账号”、“出借农机企业账号”和“普通账号”这3类账号,分别准入联盟链并挂靠在步骤101中所述对应的节点上,获取对应的账号权限。
步骤103,对步骤102所述3种账号的信息结构进行定义:
平台监管账号platformMgr包含:mgrName监管账号名称、companyGroup[]监管范围内的企业账号地址组、_platformMgr账户地址(payable可接收支付)。
出借农机企业账号company包含:companyName企业账号名称、machineGroup[]拥有的农机SN组、_company账户地址(payable可接收支付)。
租赁方普通账号tenant包含:tenantName租赁方姓名、mobile租赁方手机号、credit租赁方信用分、blacklist信用黑名单状态布尔变量、_tenant账户地址。
实现Solidity智能合约设计、编译和部署,包括如下步骤:
步骤201,首先在计算机上启动Docker容器引擎程序作为基础环境准备。
步骤202,在solcjs编译台上创建一个sol格式智能合约文件;对所述sol格式智能合约文件代码进行编辑。编辑内容包括版本声明、对农机自助付费租赁业务信息所含变量的定义、租赁业务函数设计。
步骤203,对步骤202中所述版本声明进行编写,调用pragma语句声明所使用solidity语言版本。
步骤204,对步骤202中所述农机自助付费租赁业务信息所含变量进行定义,包括①单台农机信息的结构、②租赁业务公用信息,如下:
①单台农机信息machine的结构:
enum Statuses枚举农机状态值Vancant(可用)和Occupied(占用);
Statuses currentStatus用Statuses定义的农机当前状态;
holder农机归属方账户地址;
enum Types枚举农机8种类型,依序分别对应:收割,排灌,耕地,播种,植保,畜牧饲养,动力输送,其他;
Types machineType用Types定义单台农机类型;
machineSN农机序列号;
machineName农机名称;
perPrice农机每小时租赁单价。
②租赁业务公用信息:
event Occupy(address_tenant,uint256_value)定义事件Occupy(付费租用),包含变量_tenant(租赁方账户地址)和_value(付费价格);
event Token(machineSN,string_token)定义事件Token(验证口令),包含变量machineSN(农机序列号)和_token(验证口令);
owner收款方账户地址;
rentHour租赁小时数;
rentStart实际起租时间;
deadLine归还截止时间;
rentEnd实际归还时间;
realrentHour实际租赁小时数;
ifOk是否成功归还状态布尔变量。
步骤205,对步骤204中变量的值进行初始化如下:
currentStatus=Statuses.Vancant初始化农机当前状态为可用;
owner=msg.sender初始化收款方为合约部署方;
rentHour=1初始化租赁小时数为1;
credit=0初始化信用分为0;
rentStart=block.timestamp初始化起租时间为区块时间戳;
deadline=rentStart+rentHour*3600初始化归还截止时间为起租时间加上租赁时长(单位:秒);
ifOk=true初始化是否成功归还状态为true;
blacklist=false初始化租赁方信用黑名单状态为正常(非拉黑)。
步骤206,对步骤202中所述租赁业务函数(包括函数修饰器)进行设计:
①函数修饰器“农机状态判定与返回”modifier onlyWhileVancant
要求仅当当前农机状态为可用时(currentStatus==Statuses.Vancant)后续函数生效,否则返回“该农机已租出!”
②函数修饰器“信用分判定与返回”modifier onlyWhileCreditable
要求仅当租赁方信用分大于等于0且是否成功归还变量状态为true时(credit>=0&&ifOk=true)后续函数生效,否则返回“租赁方信用分不合格或有农机未归还,不具备租赁资格!”
③函数“租农机”function Rent(machineSN,rentHour)
运行该函数前提为函数修饰器“农机状态判定与返回”和“信用分判定与返回”均符合要求,即(currentStatus==Statuses.Vancant)且(credit>=0&&ifOk=true);
定义是否成功租借状态布尔变量ifSuccess;
总租金total=租用时长rentHour*每小时租赁单价perPrice;
转账金额msg.value等于总租金total;
设收款方owner为农机所属公司账户地址_company;
将收款方地址owner赋值于msg.sender;
改农机状态currentStatus为占用中Statuses.Occupied;
用租赁者账户地址_tenant和实际转账金额_value调用事件Occupy(付费租用);
向msg.sender转账msg.value个以太币;
如果实际转账金额等于应付总租金,则付费租用成功(ifSuccess=true),并生成6位随机验证码rentToken;返回租农机结果ifSuccess和随机验证码rentToken。
如果实际转账金额_value不等于应付总租金msg.value则付费租用失败(ifSuccess=false),仅返回“付费租用失败”文本。
④函数“还农机”function ReturnMch(machineSN,_token)
如果验证口令_token不等于随机验证码rentToken,则归还失败ifOk=false。仅返回文本"验证失败,终止归还";验证口令_token等于随机验证码rentToken,执行如下:
实际归还时间rentEnd为归还农机调用合约区块链时间戳block.timestamp;
实际租用小时数realrentHour为实际归还时间rentEnd(秒转小时除以3600)减去实际起租时间rentStart(秒转小时除以3600);
用农机序列号machineSN和验证口令_token调用事件Token(验证口令);
如果验证口令_token等于随机验证码rentToken,且实际租用时长realrentHour小于等于租用时长rentHour,则属于按时归还,信用分+1,且归还成功ifOk=ture。
如果验证口令_token等于随机验证码rentToken,但实际租用时长realrentHour大于租用时长rentHour,则属于超期归还,须支付总罚款penalty=超期时长(rentHour–realrentHour)*每小时租赁单价perPrice;转账过程如下:
转账金额msg.value等于总罚款penalty;
收款方owner为农机所属公司账户地址_company;
将收款方地址owner赋值于msg.sender;
改农机状态currentStatus为可用Statuses.Vancant;
用租赁者账户地址_tenant和实际转账金额_value调用事件Occupy(付费租用);
向msg.sender转账msg.value个以太币。
如果实际转账金额_value等于应付总罚款msg.value,则归还成功ifOk=true,信用分credit减1,tenant.blacklist重新赋值为false,租赁方从信用黑名单释放;
如果实际转账金额_value不等于应付总罚款msg.value,则归还失败ifOk=false。
在验证口令_token等于随机验证码rentToken的两种情况下,函数最终返回信用分值credit和是否归还成功状态布尔变量ifOk。
⑤函数“农机出借超期报警”function alarm(string SN)
用农机序列号machineSN指向该农机对象machines[SN]即machine;
如果该农机实际租用时长machine.realrentHour大于租用时长machine.rentHour且农机当前状态machine.currentStatus为占用中Statuses.Occupied,则返回文本“农机超期未归还”,并且将租用该农机的用户的信用黑名单状态激活(tenant.blacklist=true);
如果该农机实际租用时长machine.realrentHour大于租用时长machine.rentHour且农机当前状态machine.currentStatus为可用Statuses.Vancant,则返回文本“农机超期已归还”;
其余情况下不报警。
注:该函数须配合应用层定时器定时自动调用,直至到达该台农机租用截止时间deadLine的时刻。
⑥函数“查询用户信用分”function checkCredit(_tenant)
用租赁用户账号地址_tenant指向该账号对象tenants[msg.sender]即tenant;
如果该租赁用户账号信用分大于等于0且未被列入信用黑名单(tenant.credit>=0&&tenant.blacklist==false),则返回"租赁用户信用分正常"和信用分数值;
如果该租赁用户账号信用分小于0或被列入信用黑名单(tenant.credit<0|tenant.blacklist==true),否则返回"租赁用户信用分为负列入黑名单"和信用分数值;
其他情况下,则返回"租赁用户暂时列入黑名单,请尽快归还农机"和信用分数值。
⑦函数“新增监管账号”function ctPlatformMgr(string_Name,address_adrMgr)
将_Name的值的存入监管账号名称mgrName;
将_adrMgr的值的存入监管账户地址_platformMgr。
⑧函数“新增企业账号”function ctCompany(string_Name,address_adrCmp)
将_Name的值的存入企业账号名称companyName;
将_adrCmp的值的存入企业账户地址_company。
⑨函数“新增普通账号”function ctTenant(string_Name,uint256_mobile,address_adrTnt)
将_Name的值的存入普通账号租赁方姓名tenantName;
将_mobile的值存入租赁方手机号mobile;
将_adrTnt的值的存入普通账户地址_tenant。
⑩函数“新增农机”function ctMachine(string_type,string_SN,string_Name,uint_prc)
将_type的值存入农机类型machineType;
将_SN的值存入农机序列号machineSN;
将_Name的值存入农机名称machineName;
将_prc的值存入农机每小时租赁单价perPrice。
Figure BDA0002853111040000061
函数“将农机绑定到企业账号”function enrollMachine(machineSN,_adrCmp)
将需要绑定的农机的machineSN写入企业账户地址_company为_adrCmp的企业拥有的农机SN组machineGroup[]。
Figure BDA0002853111040000062
函数“将企业账号绑定到监管账号”function enrollCompany(_company,_adrMgr)
将需要绑定的企业账户地址_company写入账户地址_platformMgr为_adrMgr的平台监管账号的监管范围内的企业账号地址组companyGroup[]。
步骤207,使用solcjs对所述sol格式智能合约文件代码进行编译;由原始代码转译成二进制码和字节码。
步骤208,所述智能合约在联盟链上的部署过程为:将创建的sol格式智能合约文件,以部署交易的方式上链至联盟链;发送智能合约文件二进制码和字节码放入区块链交易的InputData中,编辑接收地址以0x0开头,打包成交易区块;区块链矿工根据0x0的地址头,判定这一交易区块中的交易类型为“发送合约,部署上链”,验证信息正确性后执行区块上链,即将智能合约部署上链。此时智能合约拥有合约地址并存在链上。
步骤209,所述智能合约部署交易将被联盟链同步至所有节点,即所有节点将可通过EVM(以太坊栈式虚拟机)读取并调用该智能合约。
农机租赁信息上链时智能合约验证数据和预警的运行机制主要分为信息上链并同步至所有节点、节点调用智能合约判断农机租赁数据、获得判断返回报警结果。如下步骤301~步骤306:
步骤301,步骤3所述信息上链并同步至所有节点,包括:将农机租赁信息打包成区块并加密、区块上链并同步至所有联盟链内节点。
步骤302,步骤301中提到的农机租赁信息打包成区块并加密具体为:节点调用SDK工具包,按照一个区块的结构将农机租赁信息写入区块体中的Input Data,并写入时间戳、调用智能合约地址等,然后对农机租赁信息进行一次哈希处理,并对哈希进行签名。
步骤303,步骤301中提到的将包含农机租赁信息的区块上链并同步至所有联盟链节点具体为:该包含农机租赁信息的区块信息被联盟链广播至所有节点,在数据写入格式符合要求的情况下,通过共识机制将该区块信息同步至所有节点,并更新整条区块链。
步骤304,步骤3所述节点调用智能合约判断农机租赁信息数据机制方法为,3类不同权限节点(即平台监管节点、出借农机企业节点和普通节点)自动通过EVM(以太坊栈式虚拟机)读取智能合约的字节码,将农机租赁信息的对应变量值带入智能合约代码(其中“函数:农机出借超期报警”须配合应用层定时器定时触发调用),之后执行智能合约。
步骤305,通过步骤304所述将农机租赁信息结构的对应变量值带入智能合约代码并执行智能合约内功能函数后,各节点将可能获得对应报警返回结果类型,包括:
①平台监管节点、出借农机企业节点,收到:"农机超期未归还"、"农机超期归还"(平台监管节点收到所有管辖企业报警,企业仅收到本企业报警);
②普通节点,收到:"付费租用成功"、"付费租用失败"、"租赁方信用分不合格或有农机未归还,不具备租赁资格!"、"归还农机成功"、"验证失败,终止归还"、"归还农机失败"、"租赁用户信用分正常"、"租赁用户信用分为负列入黑名单"、"租赁用户暂时列入黑名单,请尽快归还农机"。
步骤306,3类节点自动将步骤305中所获得的报警返回结果返回给SDK工具包。
有益效果:与现有技术相比,本发明提供的基于区块链智能合约的农机自助付费租赁方法,通过所述FISCO BCOS联盟链架构智能合约,可实现在联盟链内对农机租赁上链信息的智能验证和预警。本发明可广泛应用于智慧农业服务信息化管理体系与产业供应链大数据共享体系,应用成本低,维护简单,并具有功能性优势与广阔的开发前景。对比现有农机自助付费租赁系统和方法,本发明核心优势总结如下:
(1)联盟链共识机制和Solidity合约自动化运行共同作用下,避免传统租赁交易系统常见的账号泄露和管理混乱问题,避免因数据泄露引发的徇私作弊行为,严格保障农机租赁信息、用户信用分的数据安全和不易篡改性;
(2)通过对账号的分级管理与信用管理,以及智能合约中对账号未归还农机信息的校验,精确避免掮客分成、批量转租获利等问题。如果租赁账号信用分为负或被列入信用黑名单则不能继续租赁行为,必须先归还农机、支付罚款等。
(3)不影响数据上链效率的情况下,拓宽了单次数据上链的业务应用层次,实现了分权限等级查看不同数据范围农机租赁信息的目的;
(4)实现租赁信息实时监管、区域性农机综合化治理等高级管理功能;
(5)本发明可在常见服务器上进行部署,并可兼容常见通信设备和采集端口,产业适用度广,应用成本适中,易于联盟链成员机构学习与上手操作。
附图说明
图1是本发明方法的流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,基于联盟链的农机自助付费租赁方法,包含以下部分:(1)基于联盟链FISCOBCOS架构节点共识机制的账户管理,(2)Solidity智能合约设计、编译和部署,(3)农机租赁信息上链并智能验证和预警。
(1)实现基于联盟链FISCO BCOS架构节点共识机制的账户管理。
步骤101,将节点按权限等级设定分为3种类型:“平台监管节点”、“出借农机企业节点”和“普通节点”。通过根证书CA签发的R证书,在服务器注册进入联盟链中时,标定单个服务器将成为的节点类型。
步骤102,通过根证书CA签发的SDK证书允许“监管账号”、“出借农机企业账号”和“普通账号”这3类账号,分别准入联盟链并挂靠在101所述对应的节点上,获取对应的账号权限。
步骤103,对102所述3种账号的信息结构进行定义:
Figure BDA0002853111040000081
Figure BDA0002853111040000091
(2)实现Solidity智能合约设计、编译和部署。
步骤201,首先在计算机上启动Docker容器引擎程序作为基础环境准备。
步骤202,在solcjs编译台上创建一个sol格式智能合约文件;对所述sol格式智能合约文件代码进行编辑。编辑内容包括版本声明、对农机自助付费租赁业务信息所含变量的定义、租赁业务函数设计,如下步骤203~206所述:
步骤203,对步骤202中所述版本声明进行编写,调用pragma语句声明所使用solidity语言版本。
步骤204,对步骤202中所述农机自助付费租赁业务信息所含变量进行定义,包括①单台农机信息的结构、②租赁业务公用信息,如下:
①单台农机信息的结构:
Figure BDA0002853111040000092
②租赁业务公用信息:
event Occupy(address_tenant,uint256_value);//定义事件Occupy(付费租用),包含变量_tenant(租赁方账户地址)和_value(付费价格)
event Token(machineSN,string_token);//定义事件Token(验证口令),包含变量machineSN(农机序列号)和_token(验证口令)
address payable public owner;//定义收款方账户地址
uint rentHour;//定义租赁小时数
uint rentStart;//定义实际起租时间
uint deadLine;//定义归还截止时间
uint rentEnd;//定义实际归还时间
uint realrentHour;//定义实际租赁小时数
bool ifOk;//定义是否成功归还状态变量ifOk
步骤205,对步骤204中变量的值进行初始化如下:
Figure BDA0002853111040000101
步骤206,对步骤202中所述租赁业务函数(包括函数修饰器)进行设计:
①函数修饰器:农机状态判定与返回
Figure BDA0002853111040000102
②函数修饰器:信用分判定与返回
Figure BDA0002853111040000103
③函数:租农机
Figure BDA0002853111040000111
④函数:还农机
Figure BDA0002853111040000112
Figure BDA0002853111040000121
⑤函数:农机出借超期报警
Figure BDA0002853111040000122
Figure BDA0002853111040000131
⑥函数:查询用户信用分
Figure BDA0002853111040000132
⑦函数:新增监管账号
Figure BDA0002853111040000141
⑧函数:新增企业账号
Figure BDA0002853111040000142
⑨函数:新增普通账号
Figure BDA0002853111040000143
⑩函数:新增农机
Figure BDA0002853111040000144
Figure BDA0002853111040000145
函数:将农机绑定到企业账号
Figure BDA0002853111040000146
Figure BDA0002853111040000151
Figure BDA0002853111040000152
函数:将企业账号绑定到监管账号
Figure BDA0002853111040000153
步骤207,使用solcjs对所述sol格式智能合约文件代码进行编译;由原始代码转译成二进制码和字节码。
步骤208,智能合约在联盟链上的部署过程为:将创建的sol格式智能合约文件,以部署交易的方式上链至联盟链;发送智能合约文件二进制码和字节码放入区块链交易的Input Data中,编辑接收地址以0x0开头,打包成交易区块;区块链矿工根据0x0的地址头,判定这一交易区块中的交易类型为“发送合约,部署上链”,验证信息正确性后执行区块上链,即将智能合约部署上链。此时智能合约拥有合约地址并存在链上。
步骤209,智能合约部署交易将被联盟链同步至所有节点,即所有节点将可通过EVM(以太坊栈式虚拟机)读取并调用该智能合约。
(3)农机租赁信息上链时智能合约验证数据和预警的运行机制主要分为信息上链并同步至所有节点、节点调用智能合约判断农机租赁数据、获得判断返回报警结果。如下步骤301~步骤306:
步骤301,步骤3所述信息上链并同步至所有节点,包括:将农机租赁信息打包成区块并加密、区块上链并同步至所有联盟链内节点。
步骤302,步骤301中提到的农机租赁信息打包成区块并加密具体为:节点调用SDK工具包,按照一个区块的结构将农机租赁信息写入区块体中的Input Data,并写入时间戳、调用智能合约地址等,然后对农机租赁信息进行一次哈希处理,并对哈希进行签名。
例如1:为了调用函数⑨“新增普通账号”,即实现租赁方注册账号的功能,需要将姓名值_Name,手机值_mobile,账户地址值_adrTnt三个参数的信息写入区块体的InputData。
例如2:为了调用函数⑩“新增农机”,即实现添加一台可出借农机的信息,需要将农机类型值_type,农机SN号值_SN,农机名称值_Name,农机每小时租金值_prc四个参数的信息写入区块体的Input Data。
例如3:为了调用函数③“租农机”,即实现租赁方付费租用某一台农机的功能,需要将农机SN号machineSN,和租赁时长rentHour两个参数的信息写入区块体的InputData。
步骤303,步骤301中提到的将包含农机租赁信息的区块上链并同步至所有联盟链节点具体为:该包含农机租赁信息的区块信息被联盟链广播至所有节点,在数据写入格式符合要求的情况下,通过共识机制将该区块信息同步至所有节点,并更新整条区块链。
步骤304,步骤3所述节点调用智能合约判断农机租赁信息数据机制方法为,3类不同权限节点(即平台监管节点、出借农机企业节点和普通节点)自动通过EVM(以太坊栈式虚拟机)读取智能合约的字节码,将农机租赁信息的对应变量值带入智能合约代码(其中“函数:农机出借超期报警”须配合应用层定时器定时触发调用),之后执行智能合约。
继续上文所提例3:
假设智能合约在接收到调用函数③“租农机”的两个参数machineSN=A0001、rentHour=48后,首先通过函数修饰器①“农机状态判定与返回”modifieronlyWhileVancant判断该SN:A0001农机当前状态是否为Statuses.Vancant可用,同时通过函数修饰器②“信用分判定与返回”modifier onlyWhileCreditable判定调用合约账户的信用分是否大于等于0且是否无农机未归还。当两个前置条件均符合租赁条件时,允许继续执行“租农机”函数。
假设该SN:A0001农机每小时租金为0.2以太币(perPrice=0.2),则租用48小时(rentHour=48)总共需要支付9.6以太币。函数将调用事件“付费租用”emit Occupy向收款方账户地址(通过owner=_company赋值,使出借该农机的公司账户地址为收款地址)支付9.6以太币。假如租赁方账户余额充足大于9.6以太币,则可成功调用“付费租用”事件支付9.6以太币。如余额不足则不能成功完成“付费租用”事件。
步骤305,通过步骤304所述将农机租赁信息结构的对应变量值带入智能合约代码并执行智能合约后,各节点将可能获得对应报警返回结果类型,包括:
①平台监管节点、出借农机企业节点,收到:"农机超期未归还"、"农机超期归还"(平台监管节点收到所有管辖企业报警,企业仅收到本企业报警);
②普通节点,收到:"付费租用成功"、"付费租用失败"、"租赁方信用分不合格或有农机未归还,不具备租赁资格!"、"归还农机成功"、"验证失败,终止归还"、"归还农机失败"、"租赁用户信用分正常"、"租赁用户信用分为负列入黑名单"、"租赁用户暂时列入黑名单,请尽快归还农机"。
继续上文所提例3:
当租赁用户调用事件“付费租用”emit Occupy成功向目标公司账户地址转账9.6以太币后,将得到合约函数返回的信息“付费租用成功”和6位数字验证码(如“268541”)。如租赁用户转账失败则返回信息“付费租用失败”。
后续当该租赁用户在租期结束前,即realrentHour<=48时归还该SN:A0001农机,调用函数④“还农机”,输入参数machineSN(A0001)和_Token(6位数字验证码“268541”),验证码正确验证通过(验证码错误验证失败则返回“验证失败,终止归还”)。该用户可正常归还该农机,并且获得信用分credit增加1分的奖励。函数④“还农机”将返回最新信用分分值和信息“归还农机成功”。
如果该租赁用户一直未归还该SN:A0001农机,则会被应用层定期触发的函数⑤农机出借超期报警执行报警行为,平台监管节点和出借农机企业将收到报警信息"农机超期未归还",同时租赁用户暂时被拉入信用黑名单(tenant.blacklist=true)。
若该租赁用户超期归还,在realrentHour=50时才归还农机,须向收款方账户地址转账(50-48)*0.2=0.4以太币罚款。当租赁用户调用事件“付费租用”emit Occupy成功转账后,函数④“还农机”将返回最新信用分分值和信息“归还农机成功”,且该用户将被从信用黑名单中释放(tenant.blacklist=false)。但该用户将获得信用分credit减少1分的惩罚。
如果租赁用户调用事件“付费租用”emit Occupy支付罚款失败,函数④“还农机”将返回最新信用分分值和信息“归还农机失败”,租赁用户依然处于信用黑名单中(tenant.blacklist=true)。
步骤306,3类节点自动将步骤305中所获得的报警返回结果返回给SDK工具包。

Claims (5)

1.一种基于联盟链的农机自助付费租赁方法,其特征在于:包含以下部分:(1)基于联盟链FISCO BCOS架构节点共识机制的账户管理,(2)Solidity智能合约设计、编译和部署,(3)农机租赁信息上链时智能合约验证数据和预警的运行机制。
2.根据权利要求1所述的基于联盟链的农机自助付费租赁方法,其特征在于:实现基于联盟链FISCO BCOS架构节点共识机制的账户管理,包括如下步骤:
步骤101,将节点按权限等级设定分为3种类型:平台监管节点、出借农机企业节点和普通节点;通过根证书CA签发的R证书,在服务器注册进入联盟链中时,标定单个服务器将成为的节点类型;
步骤102,通过根证书CA签发的SDK证书允许监管账号、出借农机企业账号和普通账号这3类账号,分别准入联盟链并挂靠在步骤101中所述对应的节点上,获取对应的账号权限;
步骤103,对步骤102所述3种账号的信息结构进行定义:
平台监管账号包含:监管账号名称、监管范围内的企业账号地址组、账户地址;
出借农机企业账号包含:企业账号名称、拥有的农机SN组、账户地址;
租赁方普通账号包含租赁方姓名、租赁方手机号、租赁方信用分、信用黑名单状态布尔变量、账户地址。
3.根据权利要求1所述的基于联盟链的农机自助付费租赁方法,其特征在于:实现Solidity智能合约设计、编译和部署,包括如下步骤:
步骤201,首先在计算机上启动Docker容器引擎程序作为基础环境准备;
步骤202,在solcjs编译台上创建一个sol格式智能合约文件;对所述sol格式智能合约文件代码进行编辑;编辑内容包括版本声明、对农机自助付费租赁业务信息所含变量的定义、租赁业务函数设计;
步骤203,对步骤202中所述版本声明进行编写,调用pragma语句声明所使用solidity语言版本;
步骤204,对步骤202中所述农机自助付费租赁业务信息所含变量进行定义,包括①单台农机信息的结构、②租赁业务公用信息;
①单台农机信息machine的结构:
enum Statuses枚举农机状态值Vancant和Occupied,其中Vancant表示可用,Occupied表示占用;
Statuses currentStatus用Statuses定义的农机当前状态;
holder农机归属方账户地址;
enum Types枚举农机8种类型,依序分别对应:收割,排灌,耕地,播种,植保,畜牧饲养,动力输送,其他;
Types machineType用Types定义单台农机类型;
machineSN农机序列号;
machineName农机名称;
perPrice农机每小时租赁单价;
②租赁业务公用信息:
event Occupy(address_tenant,uint256_value)定义事件Occupy,付费租用,包含变量_tenant租赁方账户地址和_value付费价格;
event Token(machineSN,string_token)定义事件Token,验证口令,包含变量machineSN农机序列号和_token验证口令;
owner收款方账户地址;
rentHour租赁小时数;
rentStart实际起租时间;
deadLine归还截止时间;
rentEnd实际归还时间;
realrentHour实际租赁小时数;
ifOk是否成功归还状态布尔变量;
步骤205,对步骤204中变量的值进行初始化如下:
currentStatus=Statuses.Vancant初始化农机当前状态为可用;
owner=msg.sender初始化收款方为合约部署方;
rentHour=1初始化租赁小时数为1;
credit=0初始化信用分为0;
rentStart=block.timestamp初始化起租时间为区块时间戳;
deadline=rentStart+rentHour*3600初始化归还截止时间为起租时间加上租赁时长,单位:秒;
ifOk=true初始化是否成功归还状态为true;
blacklist=false初始化租赁方信用黑名单状态为正常;
步骤206,对步骤202中所述租赁业务函数进行设计;
步骤207,使用solcjs对所述sol格式智能合约文件代码进行编译;由原始代码转译成二进制码和字节码;
步骤208,所述智能合约在联盟链上的部署过程为:将创建的sol格式智能合约文件,以部署交易的方式上链至联盟链;发送智能合约文件二进制码和字节码放入区块链交易的InputData中,编辑接收地址以0x0开头,打包成交易区块;区块链矿工根据0x0的地址头,判定这一交易区块中的交易类型为:发送合约,部署上链,验证信息正确性后执行区块上链,即将智能合约部署上链;此时智能合约拥有合约地址并存在链上;
步骤209,所述智能合约部署交易将被联盟链同步至所有节点,即所有节点将可通过EVM读取并调用该智能合约。
4.根据权利要求1所述的基于联盟链的农机自助付费租赁方法,其特征在于:农机租赁信息上链时智能合约验证数据和预警的运行机制分为信息上链并同步至所有节点、节点调用智能合约判断农机租赁数据、获得判断返回报警结果;具体实现过程如下步骤301~步骤306:
步骤301,所述信息上链并同步至所有节点,包括:将农机租赁信息打包成区块并加密、区块上链并同步至所有联盟链内节点;
步骤302,步骤301中提到的农机租赁信息打包成区块并加密具体为:节点调用SDK工具包,按照一个区块的结构将农机租赁信息写入区块体中的Input Data,并写入时间戳、调用智能合约地址等,然后对农机租赁信息进行一次哈希处理,并对哈希进行签名;
步骤303,步骤301中提到的将包含农机租赁信息的区块上链并同步至所有联盟链节点具体为:该包含农机租赁信息的区块信息被联盟链广播至所有节点,在数据写入格式符合要求的情况下,通过共识机制将该区块信息同步至所有节点,并更新整条区块链;
步骤304,所述节点调用智能合约判断农机租赁信息数据机制方法为,3类不同权限节点自动通过EVM读取智能合约的字节码,将农机租赁信息的对应变量值带入智能合约代码,之后执行智能合约;3类不同权限节点即平台监管节点、出借农机企业节点和普通节点;
步骤305,通过步骤304所述将农机租赁信息结构的对应变量值带入智能合约代码并执行智能合约内功能函数后,各节点将可能获得对应报警返回结果类型;
步骤306,3类节点自动将步骤305中所获得的报警返回结果返回给SDK工具包。
5.根据权利要求3所述的基于联盟链的农机自助付费租赁方法,其特征在于:所述步骤206,对步骤202中所述租赁业务函数进行设计,包括:
①函数修饰器,农机状态判定与返回
要求仅当当前农机状态为可用时后续函数生效,否则返回:该农机已租出!
②函数修饰器,信用分判定与返回
要求仅当租赁方信用分大于等于0且是否成功归还变量状态为true时,后续函数生效,否则返回:租赁方信用分不合格或有农机未归还,不具备租赁资格!
③函数,租农机function Rent(machineSN,rentHour)
运行该函数前提为函数修饰器农机状态判定与返回和信用分判定与返回均符合要求;
定义是否成功租借状态布尔变量ifSuccess;
总租金total=租用时长rentHour*每小时租赁单价perPrice;
转账金额msg.value等于总租金total;
设收款方owner为农机所属公司账户地址_company;
将收款方地址owner赋值于msg.sender;
改农机状态currentStatus为占用中Statuses.Occupied;
用租赁者账户地址_tenant和实际转账金额_value调用事件Occupy;
向msg.sender转账msg.value个以太币;
如果实际转账金额等于应付总租金,则付费租用成功,并生成6位随机验证码rentToken;返回租农机结果ifSuccess和随机验证码rentToken;
如果实际转账金额_value不等于应付总租金msg.value则付费租用失败,仅返回:付费租用失败文本;
④函数,还农机function ReturnMch(machineSN,_token)
如果验证口令_token不等于随机验证码rentToken,则归还失败ifOk=false;仅返回文本:验证失败,终止归还;验证口令_token等于随机验证码rentToken,执行如下:
实际归还时间rentEnd为归还农机调用合约区块链时间戳block.timestamp;
实际租用小时数realrentHour为实际归还时间rentEnd减去实际起租时间rentStart;
用农机序列号machineSN和验证口令_token调用事件Token;
如果验证口令_token等于随机验证码rentToken,且实际租用时长realrentHour小于等于租用时长rentHour,则属于按时归还,信用分+1,且归还成功ifOk=ture;
如果验证口令_token等于随机验证码rentToken,但实际租用时长realrentHour大于租用时长rentHour,则属于超期归还,须支付总罚款penalty=超期时长(rentHour–realrentHour)*每小时租赁单价perPrice;转账过程如下:
转账金额msg.value等于总罚款penalty;
收款方owner为农机所属公司账户地址_company;
将收款方地址owner赋值于msg.sender;
改农机状态currentStatus为可用Statuses.Vancant;
用租赁者账户地址_tenant和实际转账金额_value调用事件Occupy;
向msg.sender转账msg.value个以太币;
如果实际转账金额_value等于应付总罚款msg.value,则归还成功ifOk=true,信用分credit减1,tenant.blacklist重新赋值为false,租赁方从信用黑名单释放;
如果实际转账金额_value不等于应付总罚款msg.value,则归还失败ifOk=false;
在验证口令_token等于随机验证码rentToken的两种情况下,函数最终返回信用分值credit和是否归还成功状态布尔变量ifOk;
⑤函数,农机出借超期报警function alarm(string SN)
用农机序列号machineSN指向该农机对象machines[SN]即machine;
如果该农机实际租用时长machine.realrentHour大于租用时长machine.rentHour且农机当前状态machine.currentStatus为占用中Statuses.Occupied,则返回文本:农机超期未归还,并且将租用该农机的用户的信用黑名单状态激活;
如果该农机实际租用时长machine.realrentHour大于租用时长machine.rentHour且农机当前状态machine.currentStatus为可用Statuses.Vancant,则返回文本:农机超期已归还;
其余情况下不报警;
该函数须配合应用层定时器定时自动调用,直至到达该台农机租用截止时间deadLine的时刻;
⑥函数,查询用户信用分function checkCredit(_tenant)
用租赁用户账号地址_tenant指向该账号对象tenants[msg.sender]即tenant;
如果该租赁用户账号信用分大于等于0且未被列入信用黑名单,则返回:租赁用户信用分正常文本和信用分数值;
如果该租赁用户账号信用分小于0或被列入信用黑名单,否则返回:租赁用户信用分为负列入黑名单文本和信用分数值;
其他情况下,则返回:租赁用户暂时列入黑名单,请尽快归还农机文本和信用分数值;
⑦函数,新增监管账号function ctPlatformMgr(string_Name,address_adrMgr)
将_Name的值的存入监管账号名称mgrName;
将_adrMgr的值的存入监管账户地址_platformMgr;
⑧函数,新增企业账号function ctCompany(string_Name,address_adrCmp)
将_Name的值的存入企业账号名称companyName;
将_adrCmp的值的存入企业账户地址_company;
⑨函数,新增普通账号function ctTenant(string_Name,uint256_mobile,address_adrTnt)
将_Name的值的存入普通账号租赁方姓名tenantName;
将_mobile的值存入租赁方手机号mobile;
将_adrTnt的值的存入普通账户地址_tenant;
⑩函数,新增农机function ctMachine(string_type,string_SN,string_Name,uint_prc)
将_type的值存入农机类型machineType;
将_SN的值存入农机序列号machineSN;
将_Name的值存入农机名称machineName;
将_prc的值存入农机每小时租赁单价perPrice;
Figure FDA0002853111030000061
函数,将农机绑定到企业账号function enrollMachine(machineSN,_adrCmp)
将需要绑定的农机的machineSN写入企业账户地址_company为_adrCmp的企业拥有的农机SN组machineGroup[];
Figure FDA0002853111030000062
函数,将企业账号绑定到监管账号function enrollCompany(_company,_adrMgr)
将需要绑定的企业账户地址_company写入账户地址_platformMgr为_adrMgr的平台监管账号的监管范围内的企业账号地址组companyGroup[]。
CN202011535093.XA 2020-12-23 2020-12-23 一种基于联盟链的农机自助付费租赁方法 Active CN112598466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011535093.XA CN112598466B (zh) 2020-12-23 2020-12-23 一种基于联盟链的农机自助付费租赁方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011535093.XA CN112598466B (zh) 2020-12-23 2020-12-23 一种基于联盟链的农机自助付费租赁方法

Publications (2)

Publication Number Publication Date
CN112598466A true CN112598466A (zh) 2021-04-02
CN112598466B CN112598466B (zh) 2023-12-26

Family

ID=75200349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011535093.XA Active CN112598466B (zh) 2020-12-23 2020-12-23 一种基于联盟链的农机自助付费租赁方法

Country Status (1)

Country Link
CN (1) CN112598466B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113569296A (zh) * 2021-09-26 2021-10-29 南京中网卫星通信股份有限公司 一种基于联盟链的共享设施安全租赁系统及其实现方法

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194778A (zh) * 2017-05-25 2017-09-22 金立彦 基于区块链的设备租赁方法及系统
CN108537640A (zh) * 2018-04-13 2018-09-14 武汉大学 一种基于区块链技术的租赁管理方法
CN108648056A (zh) * 2018-05-10 2018-10-12 中链科技有限公司 一种基于区块链的房屋租赁合约处理方法及系统
CN108694654A (zh) * 2018-07-02 2018-10-23 浙江大学 一种基于区块链的房屋租赁系统及租赁方法
CN109360054A (zh) * 2018-09-30 2019-02-19 中链科技有限公司 基于区块链的汽车租赁方法、装置及电子设备
CN109993496A (zh) * 2019-01-17 2019-07-09 杭州趣链科技有限公司 一种基于区块链的住房租赁平台
CN110223138A (zh) * 2019-05-23 2019-09-10 阿里巴巴集团控股有限公司 基于区块链的家居租赁方法和装置
CN110246005A (zh) * 2019-05-23 2019-09-17 阿里巴巴集团控股有限公司 基于区块链的租赁方法和装置
CN110322312A (zh) * 2019-03-21 2019-10-11 复旦大学 一种基于区块链的共享租赁交易方法
CN110503510A (zh) * 2019-07-16 2019-11-26 阿里巴巴集团控股有限公司 基于信用的租物交互处理方法、装置以及系统
CN110597883A (zh) * 2019-09-19 2019-12-20 腾讯科技(深圳)有限公司 基于区块链的车辆租赁数据处理方法、装置和存储介质
US20200005388A1 (en) * 2018-06-28 2020-01-02 International Business Machines Corporation Rental asset processing for blockchain
WO2020029381A1 (zh) * 2018-08-08 2020-02-13 平安科技(深圳)有限公司 房产租赁方法、系统、计算机设备和存储介质
CN111031036A (zh) * 2019-12-12 2020-04-17 深圳大学 基于区块链的疫苗信息监控方法、装置及计算机设备
US20200175583A1 (en) * 2019-04-10 2020-06-04 Alibaba Group Holding Limited Blockchain-based leasing
US20200273094A1 (en) * 2019-02-27 2020-08-27 Rentberry, Inc. Systems and methods for managing rental reservations with blockchain
CN111652727A (zh) * 2020-06-15 2020-09-11 深圳证券通信有限公司 一种证券期货行业共享平台区块链基础设施架构方法
KR20200118696A (ko) * 2019-04-08 2020-10-16 나준기 블록체인 기반의 공유 보조배터리의 대여 및 반납 시스템 및 방법

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194778A (zh) * 2017-05-25 2017-09-22 金立彦 基于区块链的设备租赁方法及系统
CN108537640A (zh) * 2018-04-13 2018-09-14 武汉大学 一种基于区块链技术的租赁管理方法
CN108648056A (zh) * 2018-05-10 2018-10-12 中链科技有限公司 一种基于区块链的房屋租赁合约处理方法及系统
US20200005388A1 (en) * 2018-06-28 2020-01-02 International Business Machines Corporation Rental asset processing for blockchain
CN108694654A (zh) * 2018-07-02 2018-10-23 浙江大学 一种基于区块链的房屋租赁系统及租赁方法
WO2020029381A1 (zh) * 2018-08-08 2020-02-13 平安科技(深圳)有限公司 房产租赁方法、系统、计算机设备和存储介质
CN109360054A (zh) * 2018-09-30 2019-02-19 中链科技有限公司 基于区块链的汽车租赁方法、装置及电子设备
CN109993496A (zh) * 2019-01-17 2019-07-09 杭州趣链科技有限公司 一种基于区块链的住房租赁平台
US20200273094A1 (en) * 2019-02-27 2020-08-27 Rentberry, Inc. Systems and methods for managing rental reservations with blockchain
CN110322312A (zh) * 2019-03-21 2019-10-11 复旦大学 一种基于区块链的共享租赁交易方法
KR20200118696A (ko) * 2019-04-08 2020-10-16 나준기 블록체인 기반의 공유 보조배터리의 대여 및 반납 시스템 및 방법
US20200175583A1 (en) * 2019-04-10 2020-06-04 Alibaba Group Holding Limited Blockchain-based leasing
CN110246005A (zh) * 2019-05-23 2019-09-17 阿里巴巴集团控股有限公司 基于区块链的租赁方法和装置
CN110223138A (zh) * 2019-05-23 2019-09-10 阿里巴巴集团控股有限公司 基于区块链的家居租赁方法和装置
CN110503510A (zh) * 2019-07-16 2019-11-26 阿里巴巴集团控股有限公司 基于信用的租物交互处理方法、装置以及系统
CN110597883A (zh) * 2019-09-19 2019-12-20 腾讯科技(深圳)有限公司 基于区块链的车辆租赁数据处理方法、装置和存储介质
CN111031036A (zh) * 2019-12-12 2020-04-17 深圳大学 基于区块链的疫苗信息监控方法、装置及计算机设备
CN111652727A (zh) * 2020-06-15 2020-09-11 深圳证券通信有限公司 一种证券期货行业共享平台区块链基础设施架构方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Cryptober: A Blockchain-based Secure and Cost-Optimal Car Rental Platform", 《2019 TWELFTH INTERNATIONAL CONFERENCE ON CONTEMPORARY COMPUTING (IC3)》, pages 1 - 6 *
范吉立: "基于区块链的去中心化物品共享交易服务系统", 《计算机应用》, pages 1330 - 1335 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113569296A (zh) * 2021-09-26 2021-10-29 南京中网卫星通信股份有限公司 一种基于联盟链的共享设施安全租赁系统及其实现方法
CN113569296B (zh) * 2021-09-26 2021-12-31 南京中网卫星通信股份有限公司 一种基于联盟链的共享设施安全租赁系统及其实现方法

Also Published As

Publication number Publication date
CN112598466B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
CN108805707A (zh) 基于区块链的作品版权收益分配方法和装置
Amankwah‐Amoah Technological revolution, sustainability, and development in Africa: Overview, emerging issues, and challenges
CN110147990B (zh) 基于区块链的缴费代扣签约方法及装置、电子设备
CN109003175A (zh) 一种基于区块链的对账方法及系统
CN111444209B (zh) 一种基于区块链的数据处理方法、装置、设备及介质
CN110443075A (zh) 一种区块链智能合约验证部署的方法及装置
CN109658099B (zh) 一种基于区块链的账本记账方法
CN111383114A (zh) 基于区块链的资产信息管理方法和装置
CN111639125A (zh) 基于区块链的资源流通方法及装置
CN110597919A (zh) 基于区块链的数据管理方法、装置、设备及存储介质
CN103685289A (zh) 一种检测钓鱼网站的方法及装置
CN111340628A (zh) 基于区块链的资产信息管理方法和装置
CN104732597A (zh) 一种快递存取箱与存取方法
CN105844467A (zh) 一种手机游戏支付服务器、支付方法及支付系统
CN112308690A (zh) 基于区块链的租赁管理方法及装置和电子设备
CN111090697A (zh) 一种基于联盟链的票务系统
CN112241891A (zh) 一种基于联盟链的充电交易管理系统
CN112598466A (zh) 一种基于联盟链的农机自助付费租赁方法
CN106682889A (zh) 服务端设备不联网的移动支付方法
US20140344129A1 (en) Centralized entitlements
CN112991054B (zh) 一种基于区块链的电力期货合约设计方法
CN110458541B (zh) 基于区块链的对象置换方法及装置
CN112070503A (zh) 一种基于区块链的合同执行方法、装置、设备和存储介质
CN116980105A (zh) 一种基于区块链的票据绑定方法、介质及系统
CN112200670A (zh) 一种事件驱动的智能合约平台设计

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant