摘要:许多人正试图学习如何在上开发智能合约。但是,这些智能合约是由编写的,并编译成,这对大多数非程序员来说似乎很奇怪。在这里,你可以将其视为可以在浏览器中加载和运行的文件。将代码编译成的格式编译代码有很多种方法。
许多人正试图学习如何在EOS上开发智能合约。但是,这些智能合约是由C++编写的,并编译成WebAssembly,这对大多数非c++程序员来说似乎很奇怪。因此,在深入了解EOS之前,最好先学习一些关于WebAssembly的基本知识。
什么是WebAssembly我不想从官方网站上复制这个定义。你可以自己看一下。在这里,你可以将其视为可以在Web浏览器中加载和运行的文件。它类似于Javascript,但它比JS更快,更简单,更安全。
如何编写Webassembly这里是一个工作流程:
基本上有四个步骤,我将通过一个非常简单的例子来说明。
1.编写C/C++代码以下代码用于计算数字的平方根。
#include2.将C/C++代码编译成wasm(Webassembly的格式)float getSqrt (float num) { return sqrt(num); }
编译代码有很多种方法。为了简化这个过程,我找到了一种非常简单的方法。
将代码复制到该网站并单击build(构建)按钮,你可以找到编译的文件,如下所示。
然后将program.wasm文件下载到本地文件夹。
3.使用JavaScript将wasm加载到浏览器中使用以下代码创建test.html,将其放在与program.wasm相同的文件目录中。
4.在Web浏览器中运行该方法WASM Test
要解决网站跨域问题,我们需要在该文件夹中运行本地Web服务器。使用Linux或Mac时,让我们执行一下这个命令:
python -m SimpleHTTPServer
然后打开我们的Chrome浏览器,转到此页面:http://localhost:8000/test.html。在控制台中,尝试以下方法:
完成通过本教程,你就可以熟悉WebAssemply,但是对于高级研究,请查看@dan撰写的eos-example-exchange-contract-and-benefits-of-c
分享一个交互式的在线编程实战,EOS智能合约与DApp开发入门:
EOS教程
本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
这里是原文
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24291.html
摘要:对于很多没有中间语言的字节码的编程语言来说,根本不存在解释执行与编译执行的选项,比如传统只能编译执行,直接将代码编译成为可执行的二进制机器码,我们电脑上文件就是编译的成果。 Daniel Larimer 在最近的博客中透露,EOS 新增了官方的 WebAssembly 解释器,用来解释执行 WebAssembly 智能合约,加上之前的编译执行,EOS 智能合约有了两种执行方式。 对于很...
摘要:所以最简单的智能合约只需实现文件。我们看到文件中已经声明了这个,并说明了这个的李嘉图合约,大概意思是本合约的输入为一串字符,本合约意图是打印输出,没有其他效果。 Hello World! 稍微了解 EOS 系统,你就会知道 EOS 的智能合约基于 WebAssembly(WASM) 技术,这种技术在性能和跨平台兼容性之间取得了很好的平衡,通过将原始代码编译成字节码,使得代码可以在多种平...
摘要:允许智能合约定义自己的私有数据库表。有了多级索引,智能合约就具备了操作类似数据库模块的功能。因此虽然只有一列,但是的灵活性丝毫不亚于传统的数据表。 上一章我们学习了开发智能合约之前需要知道的必要概念: 什么是webAssembly以及它在智能合约上下游中的位置; 什么是ABI以及怎样使用eosiocpp工具产生ABI和wasm、wast hello智能合约的简单入门:部署和调用 ...
摘要:在看启动脚本输出的时候,发现了这两样输出设置和智能合约,以及安装合约开发工具。合约开发工具是的工具链和一组工具,用于促进平台的合同编写。系统智能合约,可以进行很多系统级别的操作,比如用户投票将用户注册成为生产者。 Previously 在EOS DApp开发入门(一)中,通过docker image的方式架起了本地的eos区块链,使Note chain DApp与本地区块链进行交互,成...
阅读 2790·2021-10-08 10:12
阅读 3872·2021-09-22 15:45
阅读 2421·2019-08-30 15:52
阅读 2530·2019-08-29 18:44
阅读 2551·2019-08-29 12:37
阅读 1042·2019-08-26 13:36
阅读 2478·2019-08-26 13:34
阅读 1331·2019-08-26 12:20