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

資訊專欄INFORMATION COLUMN

solidity智能合約字節數最大值及縮減字節數

zr_hebo / 1332人閱讀

摘要:智能合約最大字節數在中,將的最大大小限制為。定義常量比如像這樣的數值,多處使用,一定要定義常量,直接寫會導致編譯后的字節碼變長,通過此方式可有效減少字節碼數量。

智能合約最大字節數

在Solidity中,EIP 170將contract的最大大小限制為24 KB 。因此,如果智能合約內容過多,會導致無法進行發布操作。

減少壓縮字節數方法 方法及變量命名

在一定程度上,方法或變量的長短會影響字節數的多少,因此可通過減少方法名或變量名來對內容進行壓縮,但一般情況下效果很小,畢竟方法和變量名本身所占空間有限。

減少成員變量定義

如果某個值只使用一次或兩次,那么就盡量減少再獨立創建一個變量,變量越多,編譯后所占字節數越多,此項能減少不少編譯后的大小。

變量初始化

變量顯式的初始化不僅會消耗gas,還會增加編譯后的字節碼,因此能使用默認值即使用默認值。

避免重復檢查

有些值在業務前后以及做相應的檢查了,就沒有必要重復檢查,減少此類代碼,有效縮減編譯后的字節數。

定義常量

比如像1e18這樣的數值,多處使用,一定要定義常量,直接寫會導致編譯后的字節碼變長,通過此方式可有效減少字節碼數量。

減少public屬性

默認public的屬性編譯之后會提供對應的調用方法,因此將不必要的public屬性設置為內部的,則可減少對應的方法字節。

使用簡短的原因字符串

require或revert等原因字符串描述簡單化。

單線交換

Solidity可以在單個語句中交換變量值。從而避免定義臨時的中間變量。

(result[i], result[j]) = (result[j], result[i])

以上的寫法典型的應用場景就是冒泡排序,當需要交換數組中兩個值的位置時,可通過上面的寫法,減少定義中間變量。

使用事件帶提存儲

有些數據沒必要存儲在區塊鏈上,浪費資源,可通過事件將信息記錄在日志中。

使用庫來保存一些字節碼

公共庫的函數不會成為智能合約的一部分,因此可以將一些計算操作寫入公共庫里面,然后通過授權進行相應的訪問。

原文鏈接:https://www.choupangxia.com/2...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75890.html

相關文章

  • 智能合約語言Solidity教程系列1 - 類型介紹

    摘要:本文首發于深入淺出區塊鏈社區原文鏈接智能合約語言教程系列地址類型介紹原文已更新,請讀者前往原文閱讀現在的中文文檔,要么翻譯的太爛,要么太舊,決定重新翻譯下。枚舉類型應至少有一名成員。 本文首發于深入淺出區塊鏈社區原文鏈接:智能合約語言 Solidity 教程系列2 - 地址類型介紹原文已更新,請讀者前往原文閱讀 現在的Solidity中文文檔,要么翻譯的太爛,要么太舊,決定重新翻譯下。...

    andycall 評論0 收藏0
  • 智能合約語言Solidity教程系列2 - 地址類型介紹

    摘要:地址類型的成員屬性及函數這里是地址類型相關成員的快速索引用來查詢賬戶余額,用來發送以太幣以為單位。因此,為了保證安全,必須檢查的返回值,如果交易失敗,會回退以太幣。 本文首發于深入淺出區塊鏈社區原文鏈接:智能合約語言 Solidity 教程系列2 - 地址類型介紹原文已更新,請讀者前往原文閱讀 Solidity教程系列第二篇 - Solidity地址類型介紹. Solidity 系列完...

    binaryTree 評論0 收藏0
  • 以太坊是什么 - 以太坊開發入門指南

    摘要:以太坊是什么以太坊是一個建立在區塊鏈技術之上,去中心化應用平臺。運行環境以太坊虛擬機是以太坊中智能合約的運行環境。是由以太坊客戶端提供的是典型的開發以太坊時使用的客戶端,基于語言開發。 本文首發于深入淺出區塊鏈社區原文鏈接:以太坊是什么 - 以太坊開發入門指南原文已更新,請讀者前往原文閱讀 很多同學已經躍躍欲試投入到區塊鏈開發隊伍當中來,可是又感覺無從下手,本文將基于以太坊平臺,以通俗...

    tomlingtm 評論0 收藏0
  • 智能合約語言 Solidity 教程系列4 - 據存儲位置分析

    摘要:狀態變量合約內聲明的公有變量還有一個存儲位置是,用來存儲函數參數,是只讀的,不會永久存儲的一個數據位置。稱這個為狀態改變,這也是合約級變量稱為狀態變量的原因。 本文首發于深入淺出區塊鏈社區原文鏈接:智能合約語言 Solidity 教程系列4 - 數據存儲位置分析原文已更新,請讀者前往原文閱讀 Solidity教程系列第4篇 - Solidity數據位置分析。 寫在前面 Solidity...

    Galence 評論0 收藏0
  • 在區塊鏈上編程:DApp 開發簡介

    摘要:目前通常指代基于以太坊或者上的智能合約開發的相關應用。引入以太坊通過的交互流程大致如下總結隨著區塊鏈近些年的大紅大紫,被推上了風口浪尖,本文從技術的角度大致介紹了一下所涉及的技術要點。 當你開始探索區塊鏈開發,需要了解到這些。 showImg(https://segmentfault.com/img/remote/1460000016608233?w=1370&h=389); 一、DA...

    huangjinnan 評論0 收藏0

發表評論

0條評論

zr_hebo

|高級講師

TA的文章

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