# Solidity 入門 Remix編譯器、如何查看合約 # Solidity Remix介紹  >https://remix-project.org/ Remix IDE 是一個線上的以太坊(ETH)智能合約IDE(開發環境),支援Solidity語言,這是以太坊區塊鏈上智能合約的主要語言。以下是Remix IDE的主要特點: * 即時編輯器: Remix IDE內建一個即時編輯器,讓您可以輕鬆編寫和編輯Solidity智能合約。編輯器支援語法高亮和自動完成功能,提高了編碼效率。 * 智能合約測試: Remix IDE內建了測試工具,讓您可以快速且方便地測試智能合約的功能。這有助於確保您的合約在上鏈之前能夠正確運行。 * 交互式調試器: Remix IDE包括一個交互式的調試器,讓您可以逐步運行並檢查合約的執行過程。這有助於發現並解決潛在的錯誤。 * 內建的插件系統: Remix IDE支援豐富的插件,這使得開發人員能夠根據其需求自定義和擴展IDE的功能。   # 使用 Remix 的方式  * Remix 線上 IDE : [Remix Online IDE](https://remix.ethereum.org) * Remix 桌面版 IDE : [Remix Desktop IDE](https://github.com/ethereum/remix-desktop/releases) * VScode 擴充套件 : [Ethereum Remix](https://github.com/ethereum/remix-vscode) * Remix CLI Tool 令列工具: [Remixd ](https://github.com/ethereum/remix-project/tree/master/libs/remixd) 這邊我覺得最方便的是 Remix 線上 IDE,打開就能使用了,而且可以跟小狐狸連動透過小狐狸部屬 :::info 開發時要部屬合約為會需要使用到測試幣,所以建議先安裝MetaMask,並且到這個網站領取Rinkeby測試網的幣,https://faucets.chain.link/。   ::: 點進去Remix線上編譯器之後會顯示如下  # Remix 開發測試流程 ## 建立 sol 智能合約檔案 點選 Create New File 創建 Sol 智能合約檔案 建立一個新的sol,例:test.sol  ## 編譯程式 撰寫好後,最左邊選單點選 ,進入如下圖 :::info 目前是用 tests/Ballot_test.sol 來展示  :::  > 版本通常會根據你合約寫的內容自動調整版本,Auto compile可以勾起來,他就會自動編譯,有勾勾就是沒問題,也可以手動Compile所以自行選擇。 點擊 按鈕進行Compile 偵錯,可以用來檢查程式是否有哪些地方編譯會出錯先DeBug ## 部屬程式 點擊最左邊選單的,進入如下圖,部署頁面  如果想要部屬在MetaMask上,ENVIRONMENT要選MetaMask(須先在Chrome安裝該擴充插件)  點擊  部屬合約  會跳出小狐狸確認,就是這邊會用到測試幣  這邊點選 view on etherscan 可以看到成功部屬的結果  >To: 這個就是智能合約地址 ## 測試智能合約 成功部屬後會在下方看到智能合約資訊並且可以點擊按鈕進行測試  >詳細的Solidity 用法可以參考以下官方教學簡體中文檔案 >參考資料 : [Solidity-Solidity develope文檔](https://solidity-cn.readthedocs.io/zh/develop/solidity-in-depth.html) # 如何查看區塊鏈瀏覽器上的Contract? 有產生合約address 就能透過區塊鏈瀏覽器看到合約的程式碼,例如以下連結 >https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code  :::warning 要注意,通常不開源的合約風險都是比較高的,就不建議參與。 ::: # 區塊鏈如何可以確保不被竄改? 區塊鏈模擬器以簡單的方式展示了區塊鏈的不可竄改性。 > [BlockChain Demo](https://andersbrownworth.com/blockchain/blockchain) 在這個模擬器中,綠色代表合格的區塊,而紅色代表不合格的區塊。如果更改了前一個區塊的任何資料,後面的幾個區塊就會顯示為紅色,表示不合格。  每個區塊都包含了前一個區塊的雜湊(Prev),而第一個區塊是從全0開始。當第一個區塊的資料發生變化時,會影響到第二個區塊,因為第二個區塊的 Prev 就是第一個區塊的雜湊。這樣的連鎖效應會使得後面的區塊的雜湊都不匹配,從而讓這些區塊都變成不合格的紅色。  當前面任何一個區塊更動時,後面的Hash就會完全不符合,而顯示為不合格的紅色。  如果想要更改其中一個區塊,就需要重新挖掘後面的所有區塊,因為每個區塊的雜湊都取決於前一個區塊的雜湊。這種特性確保了區塊鏈的不可竄改性,因為想要修改一個區塊,就必須同時修改它後面所有的區塊,而這需要龐大的計算資源和時間,從而讓修改變得極為困難和不划算。 因此,當你想要更改的區塊越前面,後面的區塊累積的越多,區塊鏈就變得更加安全。 # 參考文章 https://geekaz.net/solidity-beginner-tutorial-0/#t-1659281348325
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up