安裝 Solidity 整合編譯環境 Visual Studio Code + Solidity Extension

in solidity •  6 years ago  (edited)

1、安裝 Solidity 整合編譯環境 Visual Studio Code + Solidity Extension

(1)下載 Visual Studio Code
https://code.visualstudio.com/download

(2)在 Visual Studio Code 內安裝 Solidity Extension
https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity

註:亦可使用 Solidity 線上編譯環境 Remix
https://github.com/ethereum/remix-ide

(3)設置 Visual Studio Code 的 Solidity 編譯器

註:可下載官方的 Solidity CLI 編譯工具來進行手動編譯
https://github.com/ethereum/solidity/releases

a、點選【File】→【Preferences】→【Settings】

b、設置 Solidity 編譯器版本(指定網路上的編譯器,此處以 Solidity 0.4.24 版本為例)

此設置會指定到此網站的特定 Solidity 編譯器:
https://github.com/ethereum/solc-bin/tree/gh-pages/bin

{
    // Compile using a remote version instead of the current one, for example: 'latest' or 'v0.4.3+commit.2353da71'
    //"solidity.compileUsingRemoteVersion": "latest"
    "solidity.compileUsingRemoteVersion": "v0.4.24+commit.e67f0147"
}

b、(與上述方法擇一使用)設置 Solidity 編譯器版本(指定已下載至本地的編譯器)

假設已將「soljson-v0.4.24+commit.e67f0147.js」編譯器下載至「C:\」內

{
    // Compile using a local version instead of the current one, for example: 'C://v0.4.3+commit.2353da71.js'
    "solidity.compileUsingLocalVersion": "C:\\soljson-v0.4.24+commit.e67f0147.js"
}

(4)測試 Visual Studio Code + Solidity 編譯器可正常運作

a、在測試目錄下使用 Visual Studio Code 開啟(此處以「C:\Users\User\Downloads\SmartContract」目錄為例)

b、在測試目錄中建立一新檔案

【右鍵】→【New File】

c、將檔名取名作「example.sol」並輸入下方程式碼後儲存

註:請注意程式碼內的版本號要和上述指定編譯器的版本要一致

pragma solidity ^0.4.24;
contract Example {
    uint256 public num = 1;
    function setNum(uint256 _num) public {
        num = _num;
    }
}

d、進行第一次編譯

點選【View】→【Command Palette...(Ctrl+Shift+P)】

e、執行 Solidity 編譯

在「Command Palette」內鍵入【Solidity: Compile Current Solidity Contract】(不一定要打完才可以選擇)→【Enter】

f、此時會產生出編譯後的檔案如下

C:\Users\User\Downloads\SmartContract\bin\Example.abi
C:\Users\User\Downloads\SmartContract\bin\Example.bin
C:\Users\User\Downloads\SmartContract\bin\Example.json

註:未來要重新編譯可以直接用【F5】來進行

點選【Debug】→【Start Debugging(F5)】


Donate ADA:
DdzFFzCqrhsup2Q4nnhKJJZ5BRuPkYUSPqDJn72t2dtHtVqsz5kQQmopMQR16Sv9qS5NC4w8Kv5P8XrDH2n2FD2akxtrntjc8hbgAmTz

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!