Solidity
使用 Mocha 測試 Solidity 智能合約時如何創建更多測試賬戶?
預設只創建 10 個測試賬戶,使用 Mocha 測試智能合約時如何創建更多?
我假設 Mocha 以某種方式創建了一個 testRPC 實例,必須有一種方法來修改該設置。
我假設 Mocha 以某種方式創建了一個 testRPC 實例……
不,是您需要在執行 Mocha 測試之前執行 Ganache(以前稱為 TestRPC)。
在這個通用設置中,Ganache 程序作為伺服器執行,而您的 Mocha 測試作為客戶端執行。
它們之間的通信協議通常是 Web3(通過 HTTP 或 WebSocket)。
這是一個如何啟動 Ganache 程序的範例,該程序初始化 15 個帳戶,每個帳戶使用 1 個乙太幣:
ganache-cli --port=8545 --gasPrice=0x1 --gasLimit=0x1fffffffffffff --account=0x0000000000000000000000000000000000000000000000000000000000000001,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000002,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000003,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000004,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000005,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000006,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000007,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000008,1000000000000000000 --account=0x0000000000000000000000000000000000000000000000000000000000000009,1000000000000000000 --account=0x000000000000000000000000000000000000000000000000000000000000000A,1000000000000000000 --account=0x000000000000000000000000000000000000000000000000000000000000000B,1000000000000000000 --account=0x000000000000000000000000000000000000000000000000000000000000000C,1000000000000000000 --account=0x000000000000000000000000000000000000000000000000000000000000000D,1000000000000000000 --account=0x000000000000000000000000000000000000000000000000000000000000000E,1000000000000000000 --account=0x000000000000000000000000000000000000000000000000000000000000000F,1000000000000000000
你在這裡看到的是這些賬戶的私鑰,Ganache 會在啟動時列印它們的公共地址。
請注意,與真正的乙太坊節點(如 Parity 或 Geth)相比,Ganache 使所有這些帳戶都處於解鎖狀態,因此您可以輕鬆執行測試,而無需使用發送時使用的帳戶的私鑰對每筆交易進行簽名。
因此,當您嘗試在真正的乙太坊節點上執行測試時,您的測試將不會執行 - 您必須先解鎖帳戶(強烈不推薦),或者至少在每次交易之前(也不推薦),或者使用您發送它的帳戶的私鑰。
如果您使用 Ganache 進行測試,它可以讓您擁有多達 100 個帳戶。點擊配置按鈕,然後點擊帳戶和密鑰。