国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

EOS開發(fā)智能合約為何編譯成WebAssembly?

Sunxb / 3244人閱讀

摘要:許多人正試圖學(xué)習(xí)如何在上開發(fā)智能合約。但是,這些智能合約是由編寫的,并編譯成,這對大多數(shù)非程序員來說似乎很奇怪。在這里,你可以將其視為可以在瀏覽器中加載和運(yùn)行的文件。將代碼編譯成的格式編譯代碼有很多種方法。

許多人正試圖學(xué)習(xí)如何在EOS上開發(fā)智能合約。但是,這些智能合約是由C++編寫的,并編譯成WebAssembly,這對大多數(shù)非c++程序員來說似乎很奇怪。因此,在深入了解EOS之前,最好先學(xué)習(xí)一些關(guān)于WebAssembly的基本知識(shí)。

什么是WebAssembly

我不想從官方網(wǎng)站上復(fù)制這個(gè)定義。你可以自己看一下。在這里,你可以將其視為可以在Web瀏覽器中加載和運(yùn)行的文件。它類似于Javascript,但它比JS更快,更簡單,更安全。

如何編寫Webassembly

這里是一個(gè)工作流程:

基本上有四個(gè)步驟,我將通過一個(gè)非常簡單的例子來說明。

1.編寫C/C++代碼

以下代碼用于計(jì)算數(shù)字的平方根。

#include 
float getSqrt (float num) {
  return sqrt(num);
}
2.將C/C++代碼編譯成wasm(Webassembly的格式)

編譯代碼有很多種方法。為了簡化這個(gè)過程,我找到了一種非常簡單的方法。

將代碼復(fù)制到該網(wǎng)站并單擊build(構(gòu)建)按鈕,你可以找到編譯的文件,如下所示。

然后將program.wasm文件下載到本地文件夾。

3.使用JavaScript將wasm加載到瀏覽器中

使用以下代碼創(chuàng)建test.html,將其放在與program.wasm相同的文件目錄中。


  WASM Test
  
4.在Web瀏覽器中運(yùn)行該方法

要解決網(wǎng)站跨域問題,我們需要在該文件夾中運(yùn)行本地Web服務(wù)器。使用Linux或Mac時(shí),讓我們執(zhí)行一下這個(gè)命令:

python -m SimpleHTTPServer

然后打開我們的Chrome瀏覽器,轉(zhuǎn)到此頁面:http://localhost:8000/test.html。在控制臺(tái)中,嘗試以下方法:

完成

通過本教程,你就可以熟悉WebAssemply,但是對于高級研究,請查看@dan撰寫的eos-example-exchange-contract-and-benefits-of-c

分享一個(gè)交互式的在線編程實(shí)戰(zhàn),EOS智能合約與DApp開發(fā)入門

EOS教程

本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開發(fā),內(nèi)容涵蓋EOS工具鏈、賬戶與錢包、發(fā)行代幣、智能合約開發(fā)與部署、使用代碼與智能合約交互等核心知識(shí)點(diǎn),最后綜合運(yùn)用各知識(shí)點(diǎn)完成一個(gè)便簽DApp的開發(fā)。

這里是原文

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24291.html

相關(guān)文章

  • 【許曉笛】EOS 新增的 WebAssembly 解釋器,是什么鬼?

    摘要:對于很多沒有中間語言的字節(jié)碼的編程語言來說,根本不存在解釋執(zhí)行與編譯執(zhí)行的選項(xiàng),比如傳統(tǒng)只能編譯執(zhí)行,直接將代碼編譯成為可執(zhí)行的二進(jìn)制機(jī)器碼,我們電腦上文件就是編譯的成果。 Daniel Larimer 在最近的博客中透露,EOS 新增了官方的 WebAssembly 解釋器,用來解釋執(zhí)行 WebAssembly 智能合約,加上之前的編譯執(zhí)行,EOS 智能合約有了兩種執(zhí)行方式。 對于很...

    SunZhaopeng 評論0 收藏0
  • 【許曉笛】開發(fā)第一個(gè) EOS 智能合約

    摘要:所以最簡單的智能合約只需實(shí)現(xiàn)文件。我們看到文件中已經(jīng)聲明了這個(gè),并說明了這個(gè)的李嘉圖合約,大概意思是本合約的輸入為一串字符,本合約意圖是打印輸出,沒有其他效果。 Hello World! 稍微了解 EOS 系統(tǒng),你就會(huì)知道 EOS 的智能合約基于 WebAssembly(WASM) 技術(shù),這種技術(shù)在性能和跨平臺(tái)兼容性之間取得了很好的平衡,通過將原始代碼編譯成字節(jié)碼,使得代碼可以在多種平...

    Developer 評論0 收藏0
  • EOS入門指南PART6——?jiǎng)e忙著開發(fā),先來看看智能合約數(shù)據(jù)是怎么存的

    摘要:允許智能合約定義自己的私有數(shù)據(jù)庫表。有了多級索引,智能合約就具備了操作類似數(shù)據(jù)庫模塊的功能。因此雖然只有一列,但是的靈活性絲毫不亞于傳統(tǒng)的數(shù)據(jù)表。 上一章我們學(xué)習(xí)了開發(fā)智能合約之前需要知道的必要概念: 什么是webAssembly以及它在智能合約上下游中的位置; 什么是ABI以及怎樣使用eosiocpp工具產(chǎn)生ABI和wasm、wast hello智能合約的簡單入門:部署和調(diào)用 ...

    ranwu 評論0 收藏0
  • EOS DApp開發(fā)入門(二): 智能合約探究

    摘要:在看啟動(dòng)腳本輸出的時(shí)候,發(fā)現(xiàn)了這兩樣輸出設(shè)置和智能合約,以及安裝合約開發(fā)工具。合約開發(fā)工具是的工具鏈和一組工具,用于促進(jìn)平臺(tái)的合同編寫。系統(tǒng)智能合約,可以進(jìn)行很多系統(tǒng)級別的操作,比如用戶投票將用戶注冊成為生產(chǎn)者。 Previously 在EOS DApp開發(fā)入門(一)中,通過docker image的方式架起了本地的eos區(qū)塊鏈,使Note chain DApp與本地區(qū)塊鏈進(jìn)行交互,成...

    Honwhy 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<