区块链 > 技术 > 正文

如何在Qtum-x86虚拟机上创建智能合约?上篇

区块链数字货币板块文章「如何在Qtum-x86虚拟机上创建智能合约?上篇」,本文约有473个文字,大小约为2KB,预计阅读时间2分钟请您欣赏。樱花区块链门户资讯网荟萃众多优秀文章精选,如果想要浏览更多相关区块链数字货币,可以关注本文结尾推荐的优秀文章内容。本站区块链资讯虽然不乏优秀之作,但仅为大家参考使用,希望能对关注区块链的人有所帮助。

5月19日,Qtum联合创始人、核心开发工程师Jordan Earls发布了《Some Qtum-x86 Tech Details》,该文详细了描述Qtum-x86相关技术细节,帮助开发者更深入理解Qtum-x86虚拟机的运作过程,以及它的实际执行过程。

本篇文章将会分为上下两篇,第一篇用于介绍Qtum-x86合约如何上链及其Qtum-x86组成部分,第二篇讲述如何将DeltaDB设计为共识层上的底层数据存储。

Qtum-x86智能合约创建过程

Qtum-x86虚拟机与以太坊EVM最大的区别之一就是智能合约实现过程。一般来说,智能合约开发人员会使用Remix,甚至用solc来进行开发工作,以便将合约编译成字节码。在EVM合约中,发送到区块链的字节码就是从“0”处开始执行。当矿工(或质押人)构建区块并将合约交易完成上链时,字节开始执行。底层的执行过程基本概括如下:

1. 交易字节码被发送到区块链节点


2. 矿工/质押人开始构建一个新区块,并开始完成包含交易的字节码


3. 字节码从“0”处开始执行


4. 执行为智能合约构造函数生成的solidity字节码


5.“持久的(persistent)”字节码被复制到内存中(即所需的全部数据和字节码,通常不包括构造函数)


6.构造函数修改后的“常量”在内存中更改,以匹配要部署的最终版本


7.合约执行结束,同时指定了应该持久化到区块链的内存范围


8. 区块链将数据保存到以太坊的Global State Trie,通过“code”字段将要持久化的字节码与地址关联起来

如何在Qtum-x86虚拟机上创建智能合约?上篇
「字节码」

再次调用合约时,会执行以下过程:

1. 当调用合约时,执行从已持久化的合约字节码的“0”处开始(不包括构造函数)


2. Solidity自动生成的合约代码解析ABI数据,指定应对哪些函数和参数值执行操作


3. 执行函数


4. 函数返回的数据被复制到内存中,并在合约退出执行时指定地址(开始地址和结束地址)


如何在Qtum-x86虚拟机上创建智能合约?上篇
「字节码」

以上便是樱花区块链给大家分享的关于「如何在Qtum-x86虚拟机上创建智能合约?上篇」http://www.0797jjw.cn/qkljs/jishu_26395.html的相关信息了,希望能帮助到大家,更多区块链相关内容,敬请关注樱花区块链!

猜你喜欢

全球稳定币与金融稳定

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

原文地址: