CN107832275A - 区块链中智能合约标识的生成方法、装置及系统 - Google Patents
区块链中智能合约标识的生成方法、装置及系统 Download PDFInfo
- Publication number
- CN107832275A CN107832275A CN201711226695.5A CN201711226695A CN107832275A CN 107832275 A CN107832275 A CN 107832275A CN 201711226695 A CN201711226695 A CN 201711226695A CN 107832275 A CN107832275 A CN 107832275A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- block chain
- created
- defined terms
- block
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链中智能合约标识的生成方法、装置及系统,涉及数据处理技术领域,能够解决现有的智能合约标识没有可读性的问题。本发明的方法主要包括:接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;若不重名,则通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。本发明主要适用于创建智能合约的场景中。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种区块链中智能合约标识的生成方法、装置及系统。
背景技术
区块链技术是一种去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代了目前互联网对中心服务器的依赖。智能合约是指以数字形式定义的能够自动执行条款的合约。在区块链技术领域,智能合约特指基于预定事件触发、不可篡改、自动执行的计算机程序。区块链上的节点可以通过调用智能合约实现各种交易。为了区分各个智能合约,需要为每个智能合约设置一个起唯一标识作用的智能合约标识。目前,智能合约标识都是地址格式的标识(可以称为数字型唯一标识),例如某智能合约标识为0xe021f45922e141f5e17d05a4b2721ec972065960。而这种格式的智能合约标识没有可读性,给用户调用智能合约产生了很大的障碍。
发明内容
有鉴于此,本发明提供的区块链中智能合约标识的生成方法、装置及系统,其目的在于解决现有的智能合约标识没有可读性。
为了解决上述问题,本发明主要提供如下技术方案:
第一方面,本发明提供了一种区块链中智能合约标识的生成方法,所述方法包括:
接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;
基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;
若不重名,则通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
可选的,所述方法还包括:
获取所述待创建智能合约的数字型唯一标识;
将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
可选的,所述获取所述待创建智能合约的数字型唯一标识包括:
接收所述区块链客户端发送的所述数字型唯一标识,所述数字型唯一标识是通过对所述待创建智能合约的合约内容进行唯一性运算而得;
或者,在接收到所述待创建智能合约的合约内容后,通过对所述合约内容进行唯一性运算得到所述数字型唯一标识;
或者,通过对所述待创建智能合约的智能合约标识进行唯一性运算得到所述数字型唯一标识。
第二方面,本发明提供了一种区块链中智能合约标识的生成方法,所述方法包括:
当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址;
将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
可选的,所述获取待创建智能合约的定义词包括:
接收输入的所述定义词;
或者,通过对所述待创建智能合约的合约内容进行分析得到所述定义词;
或者,通过智能合约区分规则,为所述待创建智能合约设置定义词。
可选的,所述方法还包括:
通过对所述待创建智能合约的合约内容进行唯一性运算得到所述待创建智能合约对应的数字型唯一标识;
将所述数字型唯一标识发送给所述区块链出块节点,以便所述区块链出块节点将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
第三方面,本发明提供了一种区块链中智能合约标识的生成装置,所述装置包括:
接收单元,用于接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;
判断单元,用于基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;
生成单元,用于当不重名时,通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
可选的,所述装置还包括:
获取单元,用于获取所述待创建智能合约的数字型唯一标识;
绑定单元,用于将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
可选的,所述获取单元包括:
接收模块,用于接收所述区块链客户端发送的所述数字型唯一标识,所述数字型唯一标识是通过对所述待创建智能合约的合约内容进行唯一性运算而得;
运算模块,用于在接收到所述待创建智能合约的合约内容后,通过对所述合约内容进行唯一性运算得到所述数字型唯一标识;
所述运算模块,还用于通过对所述待创建智能合约的智能合约标识进行唯一性运算得到所述数字型唯一标识。
第四方面,本发明提供了一种区块链中智能合约标识的生成装置,所述装置包括:
获取单元,用于当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址;
发送单元,用于将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
可选的,所述获取单元包括:
接收模块,用于接收输入的所述定义词;
分析模块,用于通过对所述待创建智能合约的合约内容进行分析得到所述定义词;
设置模块,用于通过智能合约区分规则,为所述待创建智能合约设置定义词。
可选的,所述装置还包括:
运算单元,用于通过对所述待创建智能合约的合约内容进行唯一性运算得到所述待创建智能合约对应的数字型唯一标识;
所述发送单元,还用于将所述数字型唯一标识发送给所述区块链出块节点,以便所述区块链出块节点将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
第五方面,本发明提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如第一方面所述的区块链中智能合约标识的生成方法,或者执行如第二方面所述的区块链中智能合约标识的生成方法。
第六方面,本发明提供了一种区块链中智能合约标识的生成装置,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如第一方面所述的区块链中智能合约标识的生成方法,或者执行如第二方面所述的区块链中智能合约标识的生成方法。
第七方面,本发明提供了一种区块链中智能合约标识的生成系统,所述系统包括区块链出块节点和区块链客户端;其中,所述区块链出块节点包括如第三方面所述的装置,所述区块链客户端包括如第四方面所述的装置。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供的区块链中智能合约标识的生成方法、装置及系统,能够当区块链客户端想要创建智能合约时,将区块链账户地址和待创建智能合约的定义词发送给区块链出块节点,使得区块链出块节点在确定该定义词与该区块链账户地址下已创建的智能合约的智能合约标识不重名时,将该区块链账户地址和定义词进行拼接生成智能合约标识,从而用户根据智能合约标识就可以获知区块链账户地址和智能合约内容的大概含义,具有可读性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种区块链中智能合约标识的生成方法的流程图;
图2示出了本发明实施例提供的另一种区块链中智能合约标识的生成方法的流程图;
图3示出了本发明实施例提供的一种区块链中智能合约标识的生成装置的组成框图;
图4示出了本发明实施例提供的另一种区块链中智能合约标识的生成装置的组成框图;
图5示出了本发明实施例提供的又一种区块链中智能合约标识的生成装置的组成框图;
图6示出了本发明实施例提供的再一种区块链中智能合约标识的生成装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了提供一种具有可读性的智能合约标识,本发明实施例提供了一种区块链中智能合约标识的生成方法,所述方法主要应用于区块链出块节点侧(其中,区块链出块节点是具有区块链写入权限的节点,俗称矿机),如图1所示,所述方法主要包括:
101、接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词。
当需要使用区块链技术处理一些业务时,可以基于区块链客户端在区块链平台上申请一个区块链账号(即区块链账户地址),以便后续通过该区块链账户地址与区块链平台进行通信。例如,某银行交易需要通过区块链技术实现,则该银行可以基于区块链客户端在区块链平台上申请一个区块链账号。
智能合约是以数字形式定义的能够自动执行条款的合约,即智能合约的内容包括程序代码,可以通过执行该程序代码实现合约条款的自动执行。为了能够使得用户通过智能合约标识获知智能合约约定的内容,可以根据与待创建智能合约的合约内容定义一个名称,以便后续根据该名称创建智能合约标识。所谓与合约内容相关的定义词包括合约内容里面的关键词、根据合约内容分析概括出的关键词等。另外,若仅为了区分不同的智能合约,则定义词可以是根据智能合约区分规则来设置的。例如,通过用A、B、C大写字母来区分多个智能合约,则可以直接将定义词设置为A、B或C等符合区分规则的词。
需要补充的是,区块链客户端可以位于区块链的节点上,也可以位于区块链以外的设备上。当区块链客户端位于节点上时,可以由该节点直接与区块链出块节点交互;当区块链客户端位于区块链以外的设备上时,该设备可以先与区块链中的非区块链出块节点进行交互,然后再由该非区块链出块节点与区块链出块节点进行交互。
102、基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断。
若当前的区块链账户地址下已经创建了至少一个智能合约,并且这些智能合约的智能合约标识都是根据区块链账户地址和定义词生成的,则为了防止因智能合约标识重复而导致无法唯一定位智能合约,则可以使得每个区块链账户地址下的各个智能合约标识中的定义词保持唯一性,从而实现智能合约标识的唯一性。
由此,当区块链出块节点接收到区块链客户端发送的区块链账户地址和待创建智能合约的定义词后,可以先将该定义词与该区块链账户地址下已有的智能合约标识中的定义词一一进行对比;若均不相同,则可以确定待创建智能合约的定义词与其他定义词不重名;若存在相同,则可以确定待创建智能合约的定义词与其他定义词重名。
103、若不重名,则通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
当确定待创建智能合约的定义词与其他定义词不重名时,可以将该区块链账户地址和待创建智能合约的定义词进行拼接,生成该待创建智能合约的智能合约标识,并通过将智能合约标识与待创建的智能合约的合约内容进行绑定,生成智能合约,并写入区块链中,从而可以将新生成的智能合约进行全网广播,通知其他节点。其中,拼接的方式可以为将区块链账户地址与定义词通过至少一个特定字符拼接,例如可以通过“.”、“-”“~”等进行拼接。并且在进行拼接时,区块链账户地址和定义词的先后顺序本发明实施例不做限定。
示例性的,当区块链账户地址为Ownername,定义词为SmartContractName,生成的智能合约标识可以为Ownername.SmartContractName。
另外,当确定待创建智能合约的定义词与其他定义词重名时,区块链出块节点可以向区块链客户端发送定义词重名的提示信息,以便区块链客户端修改定义词。
本发明实施例提供的区块链中智能合约标识的生成方法,能够当区块链客户端想要创建智能合约时,将区块链账户地址和待创建智能合约的定义词发送给区块链出块节点,使得区块链出块节点在确定该定义词与该区块链账户地址下已创建的智能合约的智能合约标识不重名时,将该区块链账户地址和定义词进行拼接生成智能合约标识,从而用户根据智能合约标识就可以获知区块链账户地址和智能合约内容的大概含义,具有可读性。
在实际应用中,往往存在当前设备不兼容本发明所提供的智能合约标识的情况,为了解决该不兼容问题,本发明实施例对上述实施例提供了以下改进方案:
区块链出块节点获取所述待创建智能合约的数字型唯一标识;将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
由于现有技术中使用的是一种没有可读性的数字型唯一标识,所以可以通过将上述实施例中生成拼接型的智能合约标识与对应的数字型唯一标识进行绑定,从而当当前设备无法识别拼接型的智能合约标识时,可以通过查找该拼接型的智能合约标识所对应的数字型唯一标识,从而通过该数字型唯一标识定位出智能合约。当不存在不兼容问题时,设备可以根据实际需要来使用合适的标识查找智能合约。
其中,区块链出块节点获取的数字型唯一标识可以是自己运算的,也可以是从区块链客户端侧直接获取的。具体的,区块链出块节点获取数字型唯一标识的具体实现方式包括:(1)接收所述区块链客户端发送的所述数字型唯一标识,所述数字型唯一标识是通过对所述待创建智能合约的合约内容进行唯一性运算而得;(2)在接收到所述待创建智能合约的合约内容后,通过对所述合约内容进行唯一性运算得到所述数字型唯一标识;(3)通过对所述待创建智能合约的智能合约标识进行唯一性运算得到所述数字型唯一标识。其中,唯一性运算包括但不限于哈希运算。
进一步的,依据图1所示的方法,本发明的另一个实施例还提供了一种区块链中智能合约标识的生成方法,所述方法主要适用于区块链客户端侧,如图2所示,所述方法主要包括:
201、当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址。
当用户需要创建一个新的智能合约来完成一些交易时,可以通过区块链客户端触发创建智能合约的事务,然后由区块链客户端输出让用户输入智能合约的合约内容的提示和输入定义词的提示,以便用户在该区块链客户端上输入合约内容和定义词,使得区块链客户端接收输入的合约内容、定义词,并将合约内容、定义词、区块链账户地址发送给区块链出块节点。另外,除了可以让用户自己输入定义词外,还可以由区块链客户端通过对所述待创建智能合约的合约内容进行分析得到所述定义词,或者通过智能合约区分规则为所述待创建智能合约设置定义词。
其中,关于合约内容、定义词和区块链账户地址的详解可以参见上述步骤101,在此不再赘述。
202、将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
将定义词和区块链账户地址发送给区块链出块节点的同时,可以将待创建智能合约的合约内容也一同发送给区块链出块节点;或者,将定义词、区块链账户地址和合约内容依次发送给区块链出块节点。
当区块链客户端位于区块链中的节点时,可以由该节点直接将定义词和区块链账户地址发给区块链出块节点;当区块链客户端位于区块链以外的设备上时,可以由该设备先将定义词和区块链账户地址发送给区块链中某个非区块链出块节点,然后由该非区块链出块节点将定义词和区块链账户地址发送给区块链出块节点。
本发明实施例提供的区块链中智能合约标识的生成方法,能够当区块链客户端想要创建智能合约时,将区块链账户地址和待创建智能合约的定义词发送给区块链出块节点,使得区块链出块节点在确定该定义词与该区块链账户地址下已创建的智能合约的智能合约标识不重名时,将该区块链账户地址和定义词进行拼接生成智能合约标识,从而用户根据智能合约标识就可以获知区块链账户地址和智能合约内容的大概含义,具有可读性。
在区块链出块节点侧的实施例中提及,实际应用中可能存在不兼容拼接型的智能合约标识的问题,且为了解决不兼容问题,可以将拼接型的智能合约标识与数字型唯一标识进行绑定。当数字型唯一标识需要由区块链客户端发送给区块链出块节点时,区块链客户端需要执行的步骤包括:
通过对所述待创建智能合约的合约内容进行唯一性运算得到所述待创建智能合约对应的数字型唯一标识,然后将所述数字型唯一标识发送给所述区块链出块节点,以便所述区块链出块节点将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
进一步的,依据图1所示的方法,本发明的另一个实施例还提供了一种区块链中智能合约标识的生成装置,所述装置主要应用于区块链出块节点侧,如图3所示,所述装置主要包括:接收单元31、判断单元32和生成单元33。其中,
接收单元31,用于接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;
判断单元32,用于基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;
生成单元33,用于当不重名时,通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
可选的,如图4所示,所述装置还包括:
获取单元34,用于获取所述待创建智能合约的数字型唯一标识;
绑定单元35,用于将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
可选的,如图4所示,所述获取单元34包括:
接收模块341,用于接收所述区块链客户端发送的所述数字型唯一标识,所述数字型唯一标识是通过对所述待创建智能合约的合约内容进行唯一性运算而得;
运算模块342,用于在接收到所述待创建智能合约的合约内容后,通过对所述合约内容进行唯一性运算得到所述数字型唯一标识;
所述运算模块342,还用于通过对所述待创建智能合约的智能合约标识进行唯一性运算得到所述数字型唯一标识。
本发明实施例提供的区块链中智能合约标识的生成装置,能够当区块链客户端想要创建智能合约时,将区块链账户地址和待创建智能合约的定义词发送给区块链出块节点,使得区块链出块节点在确定该定义词与该区块链账户地址下已创建的智能合约的智能合约标识不重名时,将该区块链账户地址和定义词进行拼接生成智能合约标识,从而用户根据智能合约标识就可以获知区块链账户地址和智能合约内容的大概含义,具有可读性。
进一步的,依据图2所示的方法,本发明的另一个实施例还提供了一种区块链中智能合约标识的生成装置,所述装置主要应用于区块链客户端侧,如图5所示,所述装置主要包括:获取单元41和发送单元42。其中,
获取单元41,用于当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址;
发送单元42,用于将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
可选的,如图6所示,所述获取单元41包括:
接收模块411,用于接收输入的所述定义词;
分析模块412,用于通过对所述待创建智能合约的合约内容进行分析得到所述定义词;
设置模块413,用于通过智能合约区分规则,为所述待创建智能合约设置定义词。
可选的,如图6所示,所述装置还包括:
运算单元43,用于通过对所述待创建智能合约的合约内容进行唯一性运算得到所述待创建智能合约对应的数字型唯一标识;
所述发送单元42,还用于将所述数字型唯一标识发送给所述区块链出块节点,以便所述区块链出块节点将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
本发明实施例提供的区块链中智能合约标识的生成装置,能够当区块链客户端想要创建智能合约时,将区块链账户地址和待创建智能合约的定义词发送给区块链出块节点,使得区块链出块节点在确定该定义词与该区块链账户地址下已创建的智能合约的智能合约标识不重名时,将该区块链账户地址和定义词进行拼接生成智能合约标识,从而用户根据智能合约标识就可以获知区块链账户地址和智能合约内容的大概含义,具有可读性。
本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如区块链出块节点侧所述的区块链中智能合约标识的生成方法。
本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如区块链客户端侧所述的区块链中智能合约标识的生成方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种区块链中智能合约标识的生成装置,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如区块链出块节点侧所述的区块链中智能合约标识的生成方法。
处理器中包含内核,由内核去存储介质中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来生成一种具有可读性的智能合约标识。
本发明实施例提供了一种区块链中智能合约标识的生成装置,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如区块链客户端侧所述的区块链中智能合约标识的生成方法。
处理器中包含内核,由内核去存储介质中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来生成一种具有可读性的智能合约标识。
进一步的,本发明的另一个实施例还提供了一种区块链中智能合约标识的生成系统,所述系统包括区块链出块节点和区块链客户端;其中,所述区块链出块节点包括如图3或4所示的装置,所述区块链客户端包括如图5或6所示的装置。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;
基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;
若不重名,则通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址;
将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器
(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种区块链中智能合约标识的生成方法,其特征在于,所述方法包括:
接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;
基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;
若不重名,则通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待创建智能合约的数字型唯一标识;
将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
3.根据权利要求2所述的方法,其特征在于,所述获取所述待创建智能合约的数字型唯一标识包括:
接收所述区块链客户端发送的所述数字型唯一标识,所述数字型唯一标识是通过对所述待创建智能合约的合约内容进行唯一性运算而得;
或者,在接收到所述待创建智能合约的合约内容后,通过对所述合约内容进行唯一性运算得到所述数字型唯一标识;
或者,通过对所述待创建智能合约的智能合约标识进行唯一性运算得到所述数字型唯一标识。
4.一种区块链中智能合约标识的生成方法,其特征在于,所述方法包括:
当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址;
将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
5.根据权利要求4所述的方法,其特征在于,所述获取待创建智能合约的定义词包括:
接收输入的所述定义词;
或者,通过对所述待创建智能合约的合约内容进行分析得到所述定义词;
或者,通过智能合约区分规则,为所述待创建智能合约设置定义词。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
通过对所述待创建智能合约的合约内容进行唯一性运算得到所述待创建智能合约对应的数字型唯一标识;
将所述数字型唯一标识发送给所述区块链出块节点,以便所述区块链出块节点将所述待创建智能合约的智能合约标识与所述数字型唯一标识进行绑定。
7.一种区块链中智能合约标识的生成装置,其特征在于,所述装置包括:
接收单元,用于接收区块链客户端发送的区块链账户地址和待创建智能合约的定义词;
判断单元,用于基于所述区块链账户地址下已创建的智能合约的智能合约标识,对所述定义词进行重名判断;
生成单元,用于当不重名时,通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
8.一种区块链中智能合约标识的生成装置,其特征在于,所述装置包括:
获取单元,用于当发起创建智能合约的事务时,获取待创建智能合约的定义词和当前登录的区块链账户地址;
发送单元,用于将所述定义词和所述区块链账户地址发送给区块链出块节点,以便所述区块链出块节点通过将所述区块链账户地址和所述定义词进行拼接生成所述待创建智能合约的智能合约标识。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求3中任意一项所述的区块链中智能合约标识的生成方法,或者执行如权利要求4至权利要求6中任意一项所述的区块链中智能合约标识的生成方法。
10.一种区块链中智能合约标识的生成装置,其特征在于,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如权利要求1至权利要求3中任意一项所述的区块链中智能合约标识的生成方法,或者执行如权利要求4至权利要求6中任意一项所述的区块链中智能合约标识的生成方法。
11.一种区块链中智能合约标识的生成系统,其特征在于,所述系统包括区块链出块节点和区块链客户端;其中,所述区块链出块节点包括如权利要求7所述的装置,所述区块链客户端包括如权利要求8所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711226695.5A CN107832275A (zh) | 2017-11-29 | 2017-11-29 | 区块链中智能合约标识的生成方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711226695.5A CN107832275A (zh) | 2017-11-29 | 2017-11-29 | 区块链中智能合约标识的生成方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107832275A true CN107832275A (zh) | 2018-03-23 |
Family
ID=61646541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711226695.5A Pending CN107832275A (zh) | 2017-11-29 | 2017-11-29 | 区块链中智能合约标识的生成方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832275A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510389A (zh) * | 2018-03-30 | 2018-09-07 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、设备及可读存储介质 |
CN108763257A (zh) * | 2018-04-03 | 2018-11-06 | 北京欧链科技有限公司 | Dapp容器、dapp以及区块链数据处理方法 |
CN108965468A (zh) * | 2018-08-16 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN108985759A (zh) * | 2018-06-15 | 2018-12-11 | 杭州复杂美科技有限公司 | 一种加密货币的地址生成方法及系统、设备和存储介质 |
CN109118227A (zh) * | 2018-08-23 | 2019-01-01 | 泰链(厦门)科技有限公司 | 桥梁区块链系统的构建方法、介质、装置及区块链系统 |
CN109389496A (zh) * | 2018-08-23 | 2019-02-26 | 泰链(厦门)科技有限公司 | 主体区块链系统的构建方法、介质、装置及区块链系统 |
CN109413228A (zh) * | 2018-12-20 | 2019-03-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
CN109800334A (zh) * | 2019-01-18 | 2019-05-24 | 杭州复杂美科技有限公司 | 一种键值生成方法、数据库防篡改方法设备和存储介质 |
WO2020042586A1 (zh) * | 2018-08-27 | 2020-03-05 | 深圳前海益链网络科技有限公司 | 智能合约地址生成方法、装置、计算机设备及可读存储介质 |
CN110968879A (zh) * | 2018-09-30 | 2020-04-07 | 中思博安科技(北京)有限公司 | 基于区块链的数据处理方法及装置 |
CN112270160A (zh) * | 2020-10-10 | 2021-01-26 | 中国信息通信研究院 | 一种基于智能合约分配标识符的方法及装置 |
CN113112140A (zh) * | 2021-04-07 | 2021-07-13 | 中国电子科技网络信息安全有限公司 | 一种适应于区块链基础设施服务的链码应用智能合约id管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210256A1 (en) * | 2004-03-17 | 2005-09-22 | Beat Meier | Methods, systems and software applications for verifying certain requirements on electronic documents |
CN106919419A (zh) * | 2017-02-03 | 2017-07-04 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 区块链上的智能合约程序的更新方法及装置 |
CN107248074A (zh) * | 2017-03-29 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务处理方法及设备 |
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
CN107528835A (zh) * | 2017-08-10 | 2017-12-29 | 北方工业大学 | 一种基于安全的智能合约k‑匿名激励机制的用户隐私保护方法 |
-
2017
- 2017-11-29 CN CN201711226695.5A patent/CN107832275A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210256A1 (en) * | 2004-03-17 | 2005-09-22 | Beat Meier | Methods, systems and software applications for verifying certain requirements on electronic documents |
CN106919419A (zh) * | 2017-02-03 | 2017-07-04 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 区块链上的智能合约程序的更新方法及装置 |
CN107248074A (zh) * | 2017-03-29 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务处理方法及设备 |
CN107528835A (zh) * | 2017-08-10 | 2017-12-29 | 北方工业大学 | 一种基于安全的智能合约k‑匿名激励机制的用户隐私保护方法 |
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
Non-Patent Citations (2)
Title |
---|
ETHEREUM: "Solidity Documentation,Release 0.4.12", 《SOLIDITY DOCUMENTATION,RELEASE 0.4.12》 * |
HSIEH YUNG-CHEN: "Ethereum smart contract 撰寫", 《HTTPS://MEDIUM.COM/TAIPEI-ETHEREUM-MEETUP/ETHEREUM-SMART-CONTRACT-%E6%92%B0%E5%AF%AB-68588A3D8358》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510389A (zh) * | 2018-03-30 | 2018-09-07 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、设备及可读存储介质 |
CN108763257A (zh) * | 2018-04-03 | 2018-11-06 | 北京欧链科技有限公司 | Dapp容器、dapp以及区块链数据处理方法 |
CN108985759A (zh) * | 2018-06-15 | 2018-12-11 | 杭州复杂美科技有限公司 | 一种加密货币的地址生成方法及系统、设备和存储介质 |
CN108985759B (zh) * | 2018-06-15 | 2020-10-23 | 杭州复杂美科技有限公司 | 一种加密货币的地址生成方法及系统、设备和存储介质 |
CN108965468A (zh) * | 2018-08-16 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN108965468B (zh) * | 2018-08-16 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN109118227A (zh) * | 2018-08-23 | 2019-01-01 | 泰链(厦门)科技有限公司 | 桥梁区块链系统的构建方法、介质、装置及区块链系统 |
CN109389496A (zh) * | 2018-08-23 | 2019-02-26 | 泰链(厦门)科技有限公司 | 主体区块链系统的构建方法、介质、装置及区块链系统 |
WO2020042586A1 (zh) * | 2018-08-27 | 2020-03-05 | 深圳前海益链网络科技有限公司 | 智能合约地址生成方法、装置、计算机设备及可读存储介质 |
CN110968879A (zh) * | 2018-09-30 | 2020-04-07 | 中思博安科技(北京)有限公司 | 基于区块链的数据处理方法及装置 |
CN109413228A (zh) * | 2018-12-20 | 2019-03-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
CN109413228B (zh) * | 2018-12-20 | 2021-06-01 | 全链通有限公司 | 基于区块链域名系统的IPv6生成方法和系统 |
CN109800334A (zh) * | 2019-01-18 | 2019-05-24 | 杭州复杂美科技有限公司 | 一种键值生成方法、数据库防篡改方法设备和存储介质 |
CN112270160A (zh) * | 2020-10-10 | 2021-01-26 | 中国信息通信研究院 | 一种基于智能合约分配标识符的方法及装置 |
CN113112140A (zh) * | 2021-04-07 | 2021-07-13 | 中国电子科技网络信息安全有限公司 | 一种适应于区块链基础设施服务的链码应用智能合约id管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832275A (zh) | 区块链中智能合约标识的生成方法、装置及系统 | |
US11157818B2 (en) | Model training method and apparatus based on gradient boosting decision tree | |
JP6494609B2 (ja) | カスタマイズされたソフトウェア開発キット(sdk)生成のための方法および装置 | |
CN108369709B (zh) | 用于基于网络的广告数据业务时延减小的系统和方法 | |
US10970322B2 (en) | Training an artificial intelligence to generate an answer to a query based on an answer table pattern | |
CN106682028A (zh) | 获取网页应用的方法、装置及系统 | |
JP7483929B2 (ja) | 共同トレーニングモデルを評価するための方法及び装置 | |
CN112036577B (zh) | 基于数据形式的应用机器学习的方法、装置和电子设备 | |
US20150088772A1 (en) | Enhancing it service management ontology using crowdsourcing | |
CN107807937A (zh) | 一种网站seo处理方法、装置及系统 | |
CN108572823A (zh) | 基于接口引擎的前后端开发管理方法及系统 | |
US10673789B2 (en) | Bot-invocable software development kits to access legacy systems | |
Britvin et al. | Client-server system for parsing data from web pages | |
Wexler | Get Programming with Node. js | |
EP3974960B1 (en) | Method and system for automated testing of web service apis | |
CN107133160A (zh) | 测试系统 | |
CN106844219A (zh) | 应用检测方法及应用检测装置 | |
KR102243275B1 (ko) | 오프라인 오브젝트에 관한 콘텐츠 자동 생성 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
CN110414260B (zh) | 一种数据访问方法、装置、系统及存储介质 | |
CN115186305B (zh) | 一种构建数据元件模型并生产数据元件的方法 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN106648913A (zh) | 数据采集软件标识方法及装置 | |
CN109656825A (zh) | 美术资源处理的方法及装置、电子设备、存储介质 | |
Fehlmann et al. | ART for Agile: Autonomous Real-Time Testing in the Product Development Cycle | |
KR20210052496A (ko) | Ai 창작물의 검증 장치 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180323 |
|
RJ01 | Rejection of invention patent application after publication |