Eos的Wasm智能合約的局限性

官方只支持用C++寫智能合約

用C++寫智能合約門檻過高璧亮,會把許多開發(fā)者擋在門外渐扮,C++的復雜性也會讓智能合約的設計變得困難稻爬。

Wasm智能合約的效率并不是最優(yōu)

由于C++最終也是編譯成wasm字節(jié)碼并在虛擬機中運行剃毒,效率并不能達到和編譯成native code一樣高樊拓。Wasm可以在三種模式下運行:binaryen, wavm和wabt餐塘。其中妥衣,binaryen的運行模式是字節(jié)碼的方式,運行速度最慢。wavm模式是JIT運行方式税手,速度最快蜂筹,但是由于需要預編譯,加載速度實在是太慢了芦倒,并不能為Eos的主鏈所用艺挪。wabt是最近才支持的運行模式,是基于棧的虛擬機兵扬,運行效率會比binaryen運行效率高三倍麻裳,算是有了比較大的優(yōu)化,但是執(zhí)行的效率和編譯成native code后運行仍然還是有一定的差距的器钟。

C++代碼編譯后的字節(jié)碼過大

C++智能合約最終會被編譯成Wasm字節(jié)碼津坑。由于編譯的時候會把所有用到的庫函數(shù)的代碼都編譯進去,造成C++智能合約編譯后的wasm字節(jié)碼過大傲霸。以很簡單的eosio.token智能合約為例疆瑰,編譯后的代碼也在20K左右。智能合約之間其實包含了大量的重復的代碼狞谱,這在一定程度上會造成鏈上存儲空間的浪費乃摹,并且也會增加開發(fā)的費用禁漓。

不支持直接調(diào)用其它智能合約的代碼

目前跟衅,Eos可以通過以下三個函數(shù)和其它智能合約進行交互。

void send_inline(char *serialized_action, size_t size);
void send_context_free_inline(char *serialized_action, size_t size);
void send_deferred(const uint128_t& sender_id, account_name payer, const char *serialized_transaction, size_t size, uint32_t replace_existing = 0);

但是這三個函數(shù)的都是異步的播歼,調(diào)用者返回之后才會得到執(zhí)行伶跷,這有時會增加智能合約編程的復雜度。那么秘狞,為什么Eos不支持直接調(diào)用一個智能合約的代碼呢叭莫?這和Wasm的設計是有關系的。目前烁试,Wasm的虛擬機并不支持直接運行多個實例雇初,也就是說Eos的Wasm智能合約無法做到直接從一個智能合約去調(diào)用另一個智能合約的代碼。這也是今后Eos的團隊必須解決的一個問題减响。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末靖诗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子支示,更是在濱河造成了極大的恐慌刊橘,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颂鸿,死亡現(xiàn)場離奇詭異促绵,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門败晴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浓冒,“玉大人,你說我怎么就攤上這事位衩●烧簦” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵糖驴,是天一觀的道長僚祷。 經(jīng)常有香客問我,道長贮缕,這世上最難降的妖魔是什么辙谜? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮感昼,結(jié)果婚禮上装哆,老公的妹妹穿的比我還像新娘。我一直安慰自己定嗓,他們只是感情好蜕琴,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宵溅,像睡著了一般凌简。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恃逻,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天雏搂,我揣著相機與錄音,去河邊找鬼寇损。 笑死凸郑,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的矛市。 我是一名探鬼主播芙沥,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浊吏!你這毒婦竟也來了而昨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤卿捎,失蹤者是張志新(化名)和其女友劉穎配紫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體午阵,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡躺孝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年享扔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片植袍。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡惧眠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出于个,到底是詐尸還是另有隱情氛魁,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布厅篓,位于F島的核電站秀存,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏羽氮。R本人自食惡果不足惜或链,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望档押。 院中可真熱鬧澳盐,春花似錦、人聲如沸令宿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粒没。三九已至筛婉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間革娄,已是汗流浹背倾贰。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工冕碟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拦惋,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓安寺,卻偏偏與公主長得像厕妖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挑庶,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 原文:Smart contracts 正如我們在[intro]中看到的那樣言秸,以太坊中有兩種不同類型的帳戶:外部擁有...
    Jisen閱讀 4,934評論 1 7
  • 1 EOS智能合約的介紹1.1 所需背景知識1.2 EOS智能合約基礎知識1.3 技術局限性 2 智能合約文件2....
    cenkai88閱讀 30,499評論 5 28
  • EOS智能合約 ##康爍簡介: 康爍,柏鏈道捷(PDJ Education)CTO迎捺、副總裁举畸、清華阿爾山區(qū)塊鏈研究中...
    糖果果老師閱讀 2,704評論 0 0
  • 網(wǎng)絡上不少部署智能合約的文章,但是都有一個共同的特點凳枝,就是采用命令行的方式來部署抄沮,先是建立SOLC的編譯環(huán)境跋核,然后...
    中v中閱讀 1,768評論 0 1
  • 人生第一次給自己施針,馬克一下叛买。 有文麗作我的榜樣和老師砂代,順利進針,共施四針率挣。 吾本健康刻伊,故作為身體平衡調(diào)節(jié),雙側(cè)...
    簡悅直播教練恬源閱讀 885評論 4 1