Web3js

我可以使用 Web3.js 通過本地 TestRPC 客戶端部署和訪問智能合約嗎?

  • October 24, 2018

我正在將我的智能合約遷移到 TestRPC 測試客戶端的本地副本。

  1. 使用與 TestRPC 測試客戶端在同一台 PC 上執行的 Node.JS 應用程序,我可以使用 deploy() 函式將我的智能合約的新實例部署到本地執行的 TestRPC 客戶端嗎?還是只有使用 Rinkeby 等測試網或乙太坊主網作為部署目標才有可能?

2)同樣的問題,但通過 Web3.js 庫訪問智能合約。我可以使用該庫從執行在同一台 PC 上的 Node.js 應用程序與在本地 TestRPC 客戶端中執行的智能合約實例進行互動嗎?

如果有人有任何優秀範例的連結,這些範例展示瞭如何view使用 Web3.js 庫從 Node.JS 應用程序遷移/部署智能合約並訪問智能合約的功能,請分享。

我會查看使用 Truffle Framework 的文件。它允許您在 TESTRPC 或 Rinkeby 上部署您的智能合約並與之互動。

要回答你的第二個問題,這裡有一個例子:

contract("MyContractTest", () => {
   let FACTOR = 5;

   let myContract;
   before(async () => {
       myContract = await artifacts.require("MyContract.sol").new(FACTOR);
   });

   describe(`my test:`, async () => {
       for (let i = 0; i < 100; i++) {
           it(`func(${i})`, async () => {
               try {
                   let expected = i * FACTOR;
                   let actual   = await myContract.func(i);
                   assert(actual.equals(expected), `expected ${expected} but got ${actual}`);
               }
               catch (error) {
                   assert(false, error.message);
               }
           });
       }
   });
});

您需要的一切都在這裡

引用自:https://ethereum.stackexchange.com/questions/43659