内容简介:许多人正试图学习如何在EOS上开发智能合约。但是,这些智能合约是由C++编写的,并编译成WebAssembly,这对大多数非c++程序员来说似乎很奇怪。因此,在深入了解EOS之前,最好先学习一些关于WebAssembly的基本知识。我不想从这里是一个工作流程:
许多人正试图学习如何在EOS上开发智能合约。但是,这些智能合约是由C++编写的,并编译成WebAssembly,这对大多数非c++程序员来说似乎很奇怪。因此,在深入了解EOS之前,最好先学习一些关于WebAssembly的基本知识。
什么是WebAssembly
我不想从 官方网站 上复制这个定义。你可以自己看一下。在这里,你可以将其视为可以在Web浏览器中加载和运行的文件。它类似于Javascript,但它比JS更快,更简单,更安全。
如何编写Webassembly
这里是一个工作流程:
基本上有四个步骤,我将通过一个非常简单的例子来说明。
1.编写C/C++代码
以下代码用于计算数字的平方根。
#include <math.h>
float getSqrt (float num) {
return sqrt(num);
}
2.将C/C++代码编译成wasm(Webassembly的格式)
编译代码有 很多种方法 。为了简化这个过程,我找到了一种 非常简单的方法 。
将代码复制到该网站并单击build(构建)按钮,你可以找到编译的文件,如下所示。
然后将program.wasm文件下载到本地文件夹。
3.使用JavaScript将wasm加载到浏览器中
使用以下代码创建test.html,将其放在与program.wasm相同的文件目录中。
<!doctype html>
<title>WASM Test</title>
<script>
fetch('./program.wasm')
.then(res => {
if (res.ok)
return res.arrayBuffer();
throw new Error(`Unable to fetch WASM.`);
})
.then(bytes => {
return WebAssembly.compile(bytes);
})
.then(module => {
return WebAssembly.instantiate(module);
})
.then(instance => {
window.wasmSqrt = instance.exports.getSqrt;
});
</script>
4.在Web浏览器中运行该方法
要解决网站跨域问题,我们需要在该文件夹中运行本地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工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
- web3j教程,主要是针对 java 和android程序员进行区块链以太坊开发的web3j详解。
- 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
- 以太坊开发,主要是介绍使用node.js、 mongodb 、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
- python以太坊,主要是针对 python 工程师使用web3.py进行区块链以太坊开发的详解。
- php以太坊,主要是介绍使用 php 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
- C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。
汇智网原创翻译,转载请标明出处。这里是 原文
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux/UNIX系统编程手册
Michael Kerrisk / 孙剑 许从年 董健、孙余强 郭光伟 陈舸 / 人民邮电出版社 / 2014-1 / 158
《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。 《li......一起来看看 《Linux/UNIX系统编程手册》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
正则表达式在线测试
正则表达式在线测试