- 以太坊教程
- 以太坊 - 首頁
- 以太坊 - 簡介
- 以太坊 - 智慧合約
- 以太坊 - 用於合約編寫的Solidity
- 以太坊 - 開發MyContract
- 以太坊 - 編譯合約
- 以太坊 - 部署合約
- 以太坊 - 與合約互動
- 以太坊 - Remix 的限制
- 以太坊 - 用於區塊鏈的Ganache
- 以太坊 - Ganache 伺服器設定
- 以太坊 - 快速瀏覽
- 以太坊 - MyEtherWallet
- 以太坊 - 建立錢包
- 將錢包連線到Ganache區塊鏈
- 以太坊 - 部署合約
- 與已部署合約互動
- 以太坊 - 建立合約使用者
- 以太坊 - 總結
- 以太坊有用資源
- 以太坊 - 快速指南
- 以太坊 - 有用資源
- 以太坊 - 討論
以太坊 - 與已部署合約互動
現在,您已準備好與已部署的合約進行互動。返回到 MyEtherWallet 桌面並點選“與合約互動”選項卡,如下面的螢幕截圖所示:
將您之前複製的合約地址貼上到“合約地址”欄位中。您還需要將合約的“ABI/JSON 介面”貼上到以上螢幕上。
要獲取ABI,請轉到Remix視窗並點選ABI按鈕,如下面的螢幕截圖所示。
ABI/JSON 介面將被複制到剪貼簿。將其貼上到您喜歡的編輯器中以檢查生成的介面,如下所示:
ABI / JSON Interface
[
{
"constant": false,
"inputs": [
{
"name": "newDeposit",
"type": "uint256"
}
],
"name": "send",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"name": "initialAmount",
"type": "uint256"
},
{
"name": "initialValue",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"constant": true,
"inputs": [],
"name": "getAmount",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getBalance",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
]
將此 JSON 貼上到MyEtherWallet介面後,您會注意到 JSON 介面下方的“訪問”按鈕現在已啟用,如下所示:
點選“訪問”按鈕以訪問合約。
點選“訪問”按鈕後,合約地址和函式選擇下拉列表將顯示在螢幕上,就像在 Remix 編輯器中一樣。這在下面的螢幕截圖中顯示:
您可以像在 Remix 部署中一樣檢查合約的各種函式。請注意,該合約現在已部署到外部 Ganache 區塊鏈上。檢查getAmount函式;您將獲得值為零的 Amount 值,而getBalance將顯示 1000 的餘額。
現在嘗試傳送一些錢。它將為您提供一個文字編輯控制元件以輸入金額。當您編寫合約時,會使用一些“gas”,並且系統會要求您在將其寫入區塊鏈之前確認交易。交易將在短時間內執行,具體取決於您在 Ganache 伺服器上設定的挖礦時間。之後,您可以重新檢查合約的值和金額欄位以驗證它們是否確實已修改。
您現在可以檢查 Ganache 桌面以檢視您迄今為止執行的交易。示例輸出如下所示:
到目前為止,您既是合約建立者又是合約執行者。這沒有多大意義,因為您希望其他人使用您的合約。為此,我們將為我們的 Ganache 區塊鏈建立另一個客戶端,並將一些資金從新建立的帳戶 # 2 傳送到帳戶 # 1 的合約建立者。
廣告