成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

Sunxb / 3249人閱讀

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

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

什么是WebAssembly

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

如何編寫Webassembly

這里是一個工作流程:

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

1.編寫C/C++代碼

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

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

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

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

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

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

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


  WASM Test
  
4.在Web瀏覽器中運行該方法

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

python -m SimpleHTTPServer

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

完成

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

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

EOS教程

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

這里是原文

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

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

相關(guān)文章

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

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

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

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

    Developer 評論0 收藏0
  • EOS入門指南PART6——別忙著開發(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ā)入門(二): 智能合約探究

    摘要:在看啟動腳本輸出的時候,發(fā)現(xiàn)了這兩樣輸出設(shè)置和智能合約,以及安裝合約開發(fā)工具。合約開發(fā)工具是的工具鏈和一組工具,用于促進(jìn)平臺的合同編寫。系統(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條評論

最新活動
閱讀需要支付1元查看
<