近年來,區塊鏈技術的快速發展催生了去中心化自治組織(dao)。目前比較典型的dao有the dao、steemit、digix dao、aragon 等。其中建立在 aragon上的智慧型合約系統被稱為 aragonos。
acl/iacl.sol 乙個介面,只定義了初始化和是否有許可權這兩個函式
acl/iacloracle.sol 乙個介面,只有乙個是否能執行的函式
acl/aclsyntaxsugar.sol 語法糖 就是快速將bytes32、uint、或者address轉換後放入乙個uint陣列並返回
acl/aclhelpers.sol 用來解碼一些資料
common/iforwarder.sol 乙個介面,用來進行forwarder相關的判定
common/iforwarderfee.sol 乙個定義forward費用的介面
common/uint256helpers.sol 將乙個uint256轉化為uint64的庫,當溢位時會報錯
common/timehelpers.sol 獲得當前塊高度和當前塊建立時間,返回uint256和uint64兩個版本
common/unstructuredstorage.sol 乙個庫,使用內聯彙編來獲取或者設定某個位址的資料,根據資料型別分成多個方法
common/initializable.sol 繼承timehelper,初始化繼承時間,語義上怪怪的。用來判斷是否初始化和進行初始化,使用blocknumber判斷,而不是平常使用乙個變數判斷(也許是因為有延時初始化功能)
common/iscontract.sol 很簡單的通過位址的**長度用來決定是不是合約賬號
common/petrifiable.sol 使用uint256最大值來設定延時初始化的blocknuber,永遠也不會達到,一般用來石化合約
common/autopetrified.sol 在部署時石化petrifiable合約例項,使之不能初始化
common/conversionhelpers.sol 乙個庫,用來uint256和bytes 的相互轉換
common/depositablestorage.sol 讀取或設定是否可以存款(傳送eth到某個合約)
common/ethertokenconstant.sol 用位址0代表eth,非位址0代表erc20代幣
common/ivaultrecoverable.sol 乙個介面,用來指明資產保險箱合約
common/vaultrecoverable.sol 用來轉移資產(eth和erc20代幣)注意該合約包含未實現方法,因此為乙個抽象的合約(0.6.0才有abstract關鍵字),不能部署
common/safeerc20.sol 乙個用來安全轉移erc20代幣的庫
common/reentrancyguard.sol 防止重入攻擊,類似執行緒鎖的方式,轉移前設定變數為true,轉移全部完成後設定變數為false
comon/delegateproxy.sol 委託呼叫並且返回執行環境
common/depositabledelegateproxy.sol 向合約傳送eth並進行驗證和委託呼叫
lib/ens/abstractens.sol 以太坊上的網域名稱系統(ens)介面
lib/ens/ens.sol ens的實現
lib/ens/publicresolver.sol 乙個簡單的使用ens的實現
lib/math/math.sol 乙個進行比較的數學庫
lib/math/safemath.sol 對兩個uint256進行防溢位算術操作(除法其實沒有用處,為了統一還是存在庫中)
lib/math/safemath8.sol 同上,適用於uint8
lib/math/safemath64.sol 同上,適用於uint64
lib/misc/ercproxy.sol 用來定義erc**的一些常量和介面
lib/misc/migrations.sol truffle自帶的管理合約…?
lib/token/erc20.sol erc20代幣介面定義
kernel/kernelproxy.sol 核心**的實現
factory/daofactory.sol dao工廠,用來產生dao
factory/apmregisteryfactory.sol 用來註冊apm,aragon package manager(dao)
ens工廠,注意它的警告,僅測試apm使用
以太坊虛擬機器指令碼註冊工廠,注意返回的是乙個合約型別。
apm/apmregistry.sol 用來註冊apm,apmregisteryfactory的底層實現
根據apm的名字返回編碼後的雜湊值(bytes32型別)
evmscript/executors/baseevmscriptexecutor.sol 定義指令碼開始位置
evmscript/executors/callsscript.sol 執行指令碼的實現
evmscript/evmscriptregistry.sol 指令碼執行管理功能
evmscript/evmscriptrunner.sol 執行指令碼
evmscript/ievmscriptexecutor.sol 定義執行指令碼的介面
evmscript/ievmscriptregistry.sol 定義指令碼註冊的常量和介面
evmscript/scripthelpers.sol 乙個指令碼幫助庫
此資料夾內容為測試合約(略)
HTML標記一覽
標記 型別譯名或意義 作 用備註 檔案標記 檔案宣告 讓瀏覽器知道這是 html 檔案 開頭 提供檔案整體資訊 標題 定義檔案標題,將顯示於瀏覽頂端 本文 設計檔案格式及內文所在 排版標記 說明標記 為檔案加上說明,但不被顯示 段落標記 為字 畫 等之間留一空白行 換行標記 令字 畫 等顯示於下一行...
HTML 標記一覽
html 標記一覽 標記 型別譯名或意義 作 用備註 檔案標記 檔案宣告 讓瀏覽器知道這是 html 檔案 開頭 提供檔案整體資訊 標題 定義檔案標題,將顯示於瀏覽頂端 本文 設計檔案格式及內文所在 排版標記 說明標記 為檔案加上說明,但不被顯示 段落標記 為字 畫 等之間留一空白行 換行標記 令字...
sql語句一覽
select 從資料庫表中檢索資料行和列 insert 向資料庫表新增新資料行 delete 從資料庫表中刪除資料行 update 更新資料庫表中的資料 資料定義 create table 建立乙個資料庫表 drop table 從資料庫中刪除表 alter table 修改資料庫表結構 creat...