LP質押流動性挖礦dapp系統開發智慧合約技術方案實現詳情

nice1022發表於2023-03-28

主鏈的作用是生成隨機數,系統I34-開發I633-原始碼53I9,儲存驗證節點相關資訊,管理驗證節點,追蹤子鏈區塊,子鏈的作用是處理交易,儲存賬戶合約的狀態。在本文中,術語 ShardBlock被用來與 Block(區塊)相區別,因為: (i) 它們是不同的 RLP(Recursive Length Prefix)物件:交易是第 0 層的物件,ShardBlock是用來打包交易的第一層的物件,而 block 則是用來打包 ShardBlock(header)的第二層的物件; (ii) 在子鏈的情景中這更加清晰。通常,ShardBlock必須由ShardBlockHeader 和 TransactionList(交易列表)組成;


實現功能描述

專案載入自定義變數

自定義變數替換shell模版內容

專案執行shell

功能實現拆解

針對上述功能描述,其實可以拆解為三步


實現專案載入自定義變數

實現替換shell模版內容

執行shell

專案載入自定義變數

這裡有兩種實現,

一種是專案載入自定義變數檔案到系統變數中;

另一種是shell透過source .env環境變數方式載入。


專案載入自定義變數檔案到系統變數中

這種方法的好處是專案中可以獲取到自定義變數,如果專案程式碼需要獲取自定義變數進行操作,可以考慮使用此方式


新增一個自定義變數檔案(當然也可以在程式碼中固定寫入變數直接載入到系統中,這樣的缺點就是不靈活,如果有變動就需要改程式碼)


自定義變數檔案如下

BASE_ROOT_DIR=/home

LICENSE_PATH=/home/LICENSE

PACKAGE_PATH=/home/test.tar.gz


java程式碼如下

    /**

     * 載入自定義變數檔案到系統變數中

     * @param configFile

     */

    public static void loadProperties(String configFile){

        try {

            FileInputStream propFile = new FileInputStream(configFile);

            Properties p = new Properties(System.getProperties());

            p.load(propFile);

            System.setProperties(p);

        } catch (Exception e) {

            e.printStackTrace();

        }

    }


呼叫loadProperties方法後,就可以透過System.getProperty("key")獲取自定義的變數了

如獲取BASE_ROOT_DIR:System.getProperty("BASE_ROOT_DIR")



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2942228/,如需轉載,請註明出處,否則將追究法律責任。

相關文章