Solidity
將智能合約部署到 ganache-desktop 而不是帶有 brownie 的 ganache-cli
我有一個用布朗尼開發的智能合約。我想將它部署到ganache。如果我執行我的部署腳本
brownie run scripts/deploy.py
,brownie 會使用ganache-cli
. 但我想將它部署到桌面版本的 ganache,以便我可以更方便地使用它。我可以查看我的網路,brownie networks list
我可以看到不同的網路,如乙太坊主網、Ropsten 等以及開發網路:Development ├─Ganache-CLI: development ├─Geth Dev: geth-dev ├─Hardhat: hardhat ├─Hardhat (Mainnet Fork): hardhat-fork ├─Ganache-CLI (Mainnet Fork): mainnet-fork ├─Ganache-CLI (BSC-Mainnet Fork): bsc-main-fork ├─Ganache-CLI (FTM-Mainnet Fork): ftm-main-fork ├─Ganache-CLI (Polygon-Mainnet Fork): polygon-main-fork └─Ganache-CLI (XDai-Mainnet Fork): xdai-main-fork
由於使用
brownie run scripts/deploy.py
不帶該--network
選項的選項會將其部署到開發網路,我想必須配置一些東西,因此它不使用Ganache-CLI
. 我找不到將它部署到我的 ganache 桌面的方法。我在教程中看到,如果布朗尼正在執行,它通常會通過 RPC-Client 自動連接到 ganache 桌面。但是在我的電腦上它不工作。
好的。我找到了解決方案。我可以在我的網路列表中添加一個本地網路:
brownie networks add Ethereum ganache-local host=http://127.0.0.1:7545 chainid=5777
ganache-local
我選擇的名稱在哪裡,正在host + chainid
執行的 Ganache-desktop 版本在哪裡。執行該命令後,您可以看到一條成功消息:SUCCESS: A new network 'ganache-local' has been added └─ganache-local ├─id: ganache-local ├─chainid: 5777 └─host: HTTP://127.0.0.1:7545
如果您現在執行
brownie networks list
,您將在該Ethereum
部分下看到新的ganache-local
Ethereum ├─Mainnet (Infura): mainnet ├─Ropsten (Infura): ropsten ├─Rinkeby (Infura): rinkeby ├─Goerli (Infura): goerli ├─Kovan (Infura): kovan └─ganache-local: ganache-local
現在我可以執行
brownie run scripts/deploy.py --network ganache-local
並部署到 ganache-desktop你可以刪除網路
brownie networks delete ganache-local