如何使用foundry发布测试网并验证

Posted by UpSheng on Friday, July 19, 2024

Foundry 是 rust编写的,效率比较高,跟着官方文档走一下

准备

实操

sudo proxychains4 forge create --rpc-url <your_rpc_url> \
    --private-key <your_private-key> \
    --etherscan-api-key <your_etherscan-api-key> \
    --verify \
    src/Wallet.sol:Wallet

三个参数用你自己的key替换掉,后面跟着合约代码文件,冒号后是合约名字(多个的话会区分)

国内网络问题,需要挂上梯子,配置proxychains

sudo  forge create --rpc-url <your_rpc_url> \
    --private-key <your_private-key> \
    --etherscan-api-key <your_etherscan-api-key> \
    --verify \
    src/Wallet.sol:Wallet

执行后发现有部署,但是自动验证没过,不知道什么原因。

看提示 难道是因为去验证的时候 合约还没部署吗

image-20240719110027256

部署后单独验证成功, 参数多了编译器版本,合约地址

sudo proxychains4 forge verify-contract --rpc-url <your_key> \
    --etherscan-api-key <your_key> \
    --compiler-version v0.8.25+commit.b61c2a91 \
    --watch \
    0xdF3c3f056DF87e96dd5f796c77Be8C0D4496F497 \
    src/Wallet.sol:Wallet

问题

被网络问题折腾的够呛

原本以为 配置

export http_proxy=http://127.0.0.1:7890

终端就能走代理,后面发现不行

api.etherscan.io ping不通然后又改dns 由114.114.114.114 到 8.8.8.8,是能ping通了,问题还在

ping api.etherscan.io

nslookup api.etherscan.io

最后还是使用proxychains 解决