写点什么

NFT 盲盒游戏商城交易系统开发技术

  • 2022 年 8 月 25 日
    广东
  • 本文字数:1104 字

    阅读完需:约 4 分钟

NFT盲盒游戏商城交易系统开发技术

合约是代码(它的功能)和数据(它的状态)的集合,存在于以太坊区块链的特定地址。合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠被称作以太坊虚拟机(EVM)字节代码(以太坊特有的二进制格式)上的区块链运行。NFT 盲盒游戏商城交易系统开发询阿鹏:132..薇 4z77 掂 z558,NFT 盲盒游戏商城交易搭建


合约很典型地用诸如 Solidity 等高级语言写成,然后编译成字节代码上传到区块链上。


以太坊高级语言


合约依靠被称作以太坊虚拟机(EVM)字节代码(以太坊特有的二进制格式)上的区块链运行。然而,合约很典型地用诸如 Solidity 等高级语言写成,然后用以太坊虚拟机编译器编译成字节代码上传到区块链。


下面是开发者可以用来为以太坊写智能合约的高级语言:


Solidity


Solidity 是和 JavaScript 相似的语言,你可以用它来开发合约并编译成以太坊虚拟机字节代码。


它目前是以太坊最受欢迎的语言。


Solidity 文本–Solidity 是以太坊的旗舰高级语言,用于写合约。


Solidity 在线实时编译器


标准合约 API


有用的去中心化模式–用于去中心化应用开发的代码片段。


Serpent


Serpent 是和 Python 类似的语言,可以用于开发合约编译成以太坊虚拟机字节代码。它力求简洁,将低级语言在效率方面的优点和编程风格的操作简易相结合,同时合约编程增加了独特的领域特定功能。Serpent 用 LLL 编译。


以太坊维基百科上的 Serpent


Serpent 以太坊虚拟机编译器


LLL


Lisp Like Language(LLL)是和 Assembly 类似的低级语言。它追求极简;本质上只是直接对以太坊虚拟机的一点包装。


GitHub 上的 LIBLLL


LLL 实例


Mutan(弃用)


Mutan 是个静态类型,由 Jeffrey Wilcke 开发设计的 C 类语言。它已经不再受到维护。


写合约


没有 Hello World 程序,语言就不完整。Solidity 在以太坊环境内操作,没有明显的“输出”字符串的方式。我们能做的最接近的事就是用日志记录事件来把字符串放进区块链:


每次执行时,这个合约都会在区块链创建一个日志入口,印着“Hello,World!”参数。


另请参阅:


Solidity docs 里有更多写 Solidity 代码的示例和指导。


编译合约


solidity 合约的编译可以通过很多机制完成。


通过命令行使用 solc 编译器。


在 geth 或 eth 提供的 javascript 控制台使用 web3.eth.compile.solidity(这仍然需要安装 solc 编译器)。


在线 Solidity 实时编译器。


建立 solidity 合约的 Meteor dapp Cosmo。


Mix IDE。


以太坊钱包。


注意:关于 solc 和编译 Solidity 合约代码的更多信息可在此查看。


在 geth 设置 solidity 编译器


如果你启动了 geth 节点,就可以查看哪个编译器可用。


这一指令会返回到显示当前哪个编译器可用的字符串。


注意:solc 编译器和 cpp-ethereum 一起安装。或者,你可以自己创建。


如果你的 solc 可执行文件不在标准位置,可以用—solc 标志为 solc 可执行文件指定一个定制路线。

用户头像

技术开发咖 2020.10.28 加入

区块链开发技术观察员

评论

发布
暂无评论
NFT盲盒游戏商城交易系统开发技术_NFT_薇電13242772558_InfoQ写作社区