以太坊 - 與已部署合約互動



現在,您已準備好與已部署的合約進行互動。返回到 MyEtherWallet 桌面並點選“與合約互動”選項卡,如下面的螢幕截圖所示:

Interact With Contract

將您之前複製的合約地址貼上到“合約地址”欄位中。您還需要將合約的“ABI/JSON 介面”貼上到以上螢幕上。

要獲取ABI,請轉到Remix視窗並點選ABI按鈕,如下面的螢幕截圖所示。

ABI button

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 介面下方的“訪問”按鈕現在已啟用,如下所示:

My Ether Wallet

點選“訪問”按鈕以訪問合約。

點選“訪問”按鈕後,合約地址和函式選擇下拉列表將顯示在螢幕上,就像在 Remix 編輯器中一樣。這在下面的螢幕截圖中顯示:

Access button

您可以像在 Remix 部署中一樣檢查合約的各種函式。請注意,該合約現在已部署到外部 Ganache 區塊鏈上。檢查getAmount函式;您將獲得值為零的 Amount 值,而getBalance將顯示 1000 的餘額。

現在嘗試傳送一些錢。它將為您提供一個文字編輯控制元件以輸入金額。當您編寫合約時,會使用一些“gas”,並且系統會要求您在將其寫入區塊鏈之前確認交易。交易將在短時間內執行,具體取決於您在 Ganache 伺服器上設定的挖礦時間。之後,您可以重新檢查合約的金額欄位以驗證它們是否確實已修改。

您現在可以檢查 Ganache 桌面以檢視您迄今為止執行的交易。示例輸出如下所示:

sample output

到目前為止,您既是合約建立者又是合約執行者。這沒有多大意義,因為您希望其他人使用您的合約。為此,我們將為我們的 Ganache 區塊鏈建立另一個客戶端,並將一些資金從新建立的帳戶 # 2 傳送到帳戶 # 1 的合約建立者。

廣告

© . All rights reserved.