如何以编程方式部署和验证(public源代码)以太坊智能合约?

How to deploy and verify(public source code) ethereum smart contract programmatically?

我想部署一个以太坊智能合约并验证(公开)它的源代码。我可以通过编程方式完成吗?

通常我会部署一个智能合约并在 etherscan.io 上验证它。验证后,源代码被公开。任务是我需要部署很多智能合约,但我无法手动验证它们。有没有办法 API 上传 solidity 代码以向 public 显示智能合约代码?

虽然我猜答案是 "no" 但还是想听听任何想法。

提前致谢

确实,在撰写本文时,似乎没有 public 端点可以执行此操作。此处的 Etherscan 文档中没有提及此类合同验证端点 https://etherscan.io/apis or here https://hexdocs.pm/etherscan/

大约一个月前,有人在 subreddit 上问过同样的问题,但没有成功

Etherscan 在验证时使用 Are you a robot? 复选框验证码。那个很难骗,不值得一试。然而,您可以做的是 使用 Selenium 进行合同验证的部分自动化。

假设您想以最小的努力验证 20 份合同。应该可以编写一个脚本,在浏览器中打开 20 个选项卡,在每个选项卡中转到 Etherscan,为其中一个合同输入适当的合同详细信息,然后让人员使用 Are you a robot? 来处理页面验证码。