首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用hardhat 开发以太坊智能合约-验证合约

本文作者:全干攻城尸[1] 本系列课程: 第一节:使用 hardhat 开发以太坊智能合约-搭建环境[2] 第二节:使用 hardhat 开发以太坊智能合约-测试合约[3] 第三节:使用 hardhat...开发以太坊智能合约-发布合约[4] 第四节:使用 hardhat 开发以太坊智能合约-验证合约[5] 一、概述 在我们将真正合约部署到正式区块链网络之后, 在区块链浏览器里查看我们合约,它应该是这样显示...为了增强用户对于项目的信任,我们需要将我们合约源代码进行公布,接下来,我们就讲解,如何使用 hardhat 进行合约验证 二、准备工作 1、申请区块链浏览器账号 我们使用区块链浏览器提供 api...1696734227 等待命令执行完成,然后我们刷新刚刚区块链浏览器页面,发现合约已经被验证了 通过本节课程学习,我们完成了合约验证流程,到此,hardhat 教程就结束了,后面我会推出更多智能合约相关课程...[4] 使用hardhat开发以太坊智能合约-发布合约: https://learnblockchain.cn/article/4929 [5] 使用hardhat开发以太坊智能合约-验证合约: https

98930

Solidity 智能合约开发 - Hardhat 框架使用

Solidity 智能合约开发 - 玩转 Web3.py Solidity 智能合约开发 - 玩转 ethers.js 但是在真正复杂业务场景中,我们往往会使用一些进一步封装框架,如 HardHat...增加 etherscan 合约验证支持 将合约部署至 Rinkeby 测试网络后可在 Etherscan 查看合约地址,并且进行验证。...因为可能我们合约已经在 Etherscan 验证过,所以我们做了一个 try...catch... 错误处理,如果验证过,则会抛出一个错误,并且输出一个提示信息,而不影响我们部署流程。...,此外仅在有 ETHERSCAN_API_KEY 环境变量执行验证操作。...合约测试 对于智能合约来说,其大多数操作都需要部署链,与资产交互,消耗 gas,且一旦有安全隐患会造成严重后果。因此,我们需要对智能合约进行详细测试。

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

以太坊主网部署终极指南

如果你有多个合约需要部署,而这些合约又相互依赖,或者你需要在部署后调用任何合约功能,这就特别有用。 请查看迁移链接这里[18],了解如何使用它们完整文档。...Web3 当然,你总是可以直接使用 Web3(或 ethers.js)构建你自定义部署逻辑。当你频繁地部署合约并需要自定义逻辑来存储部署信息,这非常有用。...部署后考虑因素 在部署到主网之后,你应该在 Etherscan 和 Sourcify 验证合约源代码。...验证成功后,用户可以在 Etherscan 获得更多信息,可以直接在 Etherscan 与之交互,或者在 Remix 等支持工具从 Sourcify 获取代码。...你可以在Etherscan[29]网站上手动验证合约。另外,也推荐使用Truffle[30]、Hardhat[31]插件和直接使用Etherscan API[32]自动验证插件。

1.9K20

如何编写 NFT 智能合约

智能合约开发和部署可能是非常昂贵,而且在安全缺陷和 bug 方面也不宽容。 设置本地开发环境 我们将使用 Hardhat,一个行业标准以太坊开发环境,来开发、部署和验证我们智能合约。...进入 Etherscan,输入合约地址,应该看到类似这样内容: 在 OpenSea 查看我们 NFT 我们 NFT 现在已经可以在 OpenSea 使用,不需要我们明确上传。...进入testnets.opensea.io[17]并搜索你合约地址。 这就是我们的藏品模样: 在 Etherscan 验证合约代码 在 etherscan 验证我们合约。...更重要是,验证代码将允许你用户将他们 Metamask 钱包连接到 etherscan,并在 etherscan 铸造你 NFT!...让我们把这个 API 密钥添加到.env文件中: ETHERSCAN_API = "" Hardhat 使我们在 Etherscan 验证合约变得非常简单

1.1K70

使用hardhat 开发以太坊智能合约-发布合约

本文作者:全干攻城尸[1] 本系列课程: 第一节:使用 hardhat 开发以太坊智能合约-搭建环境[2] 第二节:使用 hardhat 开发以太坊智能合约-测试合约[3] 第三节:使用 hardhat...开发以太坊智能合约-发布合约[4] 第四节:使用 hardhat 开发以太坊智能合约-验证合约[5] 通过我们前面两节课程学习,我们掌握了 hardhat 开发环境基本搭建流程以及合约测试方法,...etherscan:配置调用 api 接口 apiKey 这里有一个问题,不过在我们部署合约时候不会出现,所以暂时先略过,待到我们去进行验证合约时候会回头讲解 这里面我们使用了.env 环境变量获取...,键值对方式进行存储 三、部署合约 1、本地合约部署 hardhat 作为强大合约开发辅助工具,其本身自带了一套以太坊区块链环境,当我们在执行部署命令,如果不指定网络,默认是使用自带区块链环境.../4930 [4] 使用hardhat开发以太坊智能合约-发布合约: https://learnblockchain.cn/article/4929 [5] 使用hardhat开发以太坊智能合约-验证合约

1.4K20

数百次采访后,我总结了 2021 年最好用区块链开发框架

Etherscan/Block Explorer 验证Etherscan 是最受欢迎区块浏览器。当人们想要签出你合约以及你已部署内容,除非他们具有 ABI 和合约地址,否则就无法签出。...找到合约地址通常很容易,但是要获得 ABI 却很困难。你肯定希望人们能轻松地查看你智能合约并与之互动,因此你需要随时对其进行验证,以便其他人可以做到这一点。...大多数框架都有某种验证插件,你可以在其中部署智能合约,然后立即在 Etherscan 对其进行验证。一定要在你应用程序中使用它。...虽说拿它和其他框架进行对比有点愚蠢,但这里还是把它列为智能合约框架。Waffle 可以与你喜欢任何框架搭配使用,并且当前是搭配 Hardhat 默认工具。...如果你希望框架可以提供所有不错功能,那我不建议单独使用它。但如果你想使用更原始、更简单、可自定义框架,那么选它就不会出错

56220

Hardhat和Ethers引入并测试知名NFT智能合约

译文出自:登链翻译计划[1] 译者:darren[2] 校对:Tiny 熊[3] 在本教程结束,你将了解以下内容: 如何找到特定项目的智能合约代码 如何将该代码添加到本地开发环境 如何安装和设置一个简单...因为我知道 Bored Ape Yacht Club 使用符号 BAYC,所以我可以使用 Etherscan 搜索该符号: 可以看到这是一个经过验证 ERC-721 代币合约,其名称是我们正在寻找...我们可以使用内置 compile 任务来执行此操作 - 我们需要做就是运行: npx hardhat compile 当我们使用 Hardhat 编译合约,将为每个合约生成两个文件,并放置在 artifacts...本质,我们正在创建一个合约工厂,其中包含部署合约所需额外信息。 一旦有了合约工厂,就可以使用 .deploy() 方法,传入合约构造函数所需变量。...我们通过添加另一个测试“应该设置正确所有者”来使用所有者变量 - 这将检查合约所有者是否与我们部署合约返回所有者相同。

1.1K30

Foundry教程|如何调试和部署Solidity智能合约

[视频],你可以在 YouTube 观看:https://youtu.be/VhaP9kYvlOA 智能合约通常是用 Solidity 编写,但使用 Javascript 框架(如 Truffle...foundry 第一步 Foundry 软件包带有两个主要命令行功能: forge - 建立编译测试本地智能合约 cast - 使用已部署智能合约执行链上交易 如果想从 Github 克隆一个...forge init myrepo 然后就可以继续编译和测试智能合约了 forge build forge test 注意测试是如何通过,还得到了测试交易 Gas 成本 ---- 如何使用 Hardhat...用 Slither 进行安全分析 当涉及到智能合约安全,Slither 绝不是一个简单解决方案,但它是有用,并提供了一些自动检查,如检查重入错误。...forge 命令在 etherscan 验证合约,以便我们能够使用 Etherscan UI 和 Metamask 与之交互。

1.9K20

NFT新手教程: 如何编写和部署NFT(第1部分)

在本教程中,我们将通过使用MetaMask[5]、Solidity[6]、Hardhat[7]、Pinata[8]和Alchemy[9]在 Ropsten 测试网络创建和部署一个 ERC-721 智能合约...在本教程第二部分,将讨论如何使用我们智能合约来铸造一个 NFT,在第三部分,我们将解释如何在 MetaMask 查看你 NFT。...我们智能合约使用计数器来跟踪已铸币 NFT 总数,并在我们新 NFT 设置唯一 ID。...当使用 hardhat-ethers 插件,ContractFactory 和合约实例默认连接到第一个签名者。...如果我们点击进入交易,我们会在To字段下看到我们合约地址。 在Etherscan查看您合约地址 耶~,你刚刚把你 NFT 智能合约部署到了以太坊链!

3.9K32

如何使用 Dapptools | 类似 MakerDAO 使用代码

译文出自:登链翻译计划[1] 译者:Meta[2] 校对:Tiny 熊[3] 了解如何使用Dapptools[4],这是一个智能合约部署框架,适用于喜欢 bash 和命令行 web3 开发人员。...他们团队使用一种名为 dapptools[7] 特殊框架来创建、部署、测试智能合约,并与之交互。...在本文中,将展示如何使用 dapptools 执行以下操作: 编写和编译合约 使用 solidity 和 fuzzing 测试合约 部署合约 与已部署合约交互 将使用我们设置 dapptools-demo...out: 编译代码位置。类似于brownie中build文件夹或hardhatartifacts文件夹。 src: 你智能合约就在这里。...验证合约合约部署到 etherscan 后,可以通过以下方式对其进行验证: 获取Etherscan API 密钥[35]。

86130

ERC-3525 开发入门指南

我们推荐读者在学习 ERC-3525 开发之前,首先掌握以下知识和技能: Solidity 语言和 EVM 智能合约开发基本知识 Hardhat 智能合约开发框架基本实用技能 当然,要使用 Hardhat...编写测试用例 使用 Hardhat 框架开发智能合约主要好处之一是可以进行自动化测试。...另一方面,有些智能合约功能必须在测试链才能运行,比如与 Oracle 交互,在开发用虚拟节点是不支持。...其中 Goerli 历史较长,完全开放,比较适合于测试复杂智能合约,而 Sepolia 较新,由一组确定验证者节点组成,不能随意加入,是当前进行 DApp 开发测试首选测试链。...在浏览器地址栏里输入: https://sepolia.etherscan.io/address/ 请注意,将 替换成一节红框中地址。 恭喜你!

85430

DappTools - 安装与使用

安装 官网安装脚本异常简单,但我实际安装到服务器还是踩了不少坑,花费了很多时间。...环境变量 再安装完成dapptools后,需要先配置一定环境变量,这样才好继续使用。这里需要用到有两个环境变量:ETH_RPC_URL 和 ETHERSCAN_API_KEY。...这个例子也体现出了dapptools优势所在,即它可以实时debug一笔交易,而不像hardhat[4]或者remix需要手动部署合约。...实际即使使用hardhat去fork了特定blocknumber,也无法去debug它OPCODE,对于事实交易顺序也是没办法重现。...对应实现合约地址为:0x374ABb8cE19A73f2c4EFAd642bda76c797f19233, 该实现合约也是62号提案更新过合约地址 然后从etherscan拿到对应实现合约源码

92820

hardhat 教程及 hardhat-deploy 插件使用

编写和编译智能合约 我们创建一个简单智能合约,实现一个可以转让代币。代币合约最常用来交换或储存价值。...编写智能合约 虽然默认情况下,hardhat 使用 contracts作为合约代码源文件夹,但我们更倾向于将其改为 src。 因此,你需要用新配置来编辑你hardhat.config.ts文件。...测试合约 在构建智能合约,编写自动化测试是至关重要,因为这关系到用户资金。为此我们将使用Hardhat 网络,这是一个为开发而设计本地以太坊网络,是内置,也是Hardhat默认网络。...当你在Hardhat Network运行合约和测试,可以在 Solidity 代码中调用console.log()打印日志信息和合约变量。...然后你可以用 sourcify 或 etherscan验证它。

3.1K30

NFT铸造分红交易平台开发部署方案

因为 NFT 是可以被买卖交易数字资产,而 NFT 交易所收集了 NFT 信息并且撮合了买家和卖家,所以 NFT 交易所是生态中一个必不可少部分如果你现在不想部署在测试网或者主网上,那就复制下面的配置文件...require("@nomiclabs/hardhat-waffle");require("@nomiclabs/hardhat-etherscan");require("hardhat-deploy"...:Contracts 文件夹,这里有我们 NFT 交易所逻辑和 NFT 样例合约。...deploy 文件夹,这里有 hardhat-deploy plugin 和部署脚本,它们可以编译智能合约并且部署在 Hardhat 提供本地区块链中。...scripts 文件夹,这里有一些脚本文件,用来和部署在本地 Hardhat 开发环境中智能合约交互。

28110

【Web3 开发系列教程—创建你第一个智能合约(2)】部署第一个智能合约

我们将介绍使用虚拟钱包 (Metamask)、Solidity、Hardhat 和 Alchemy 在 Goerli 测试网络创建和部署一个简单智能合约(如果你还不明白其中任何含义,请不要担心,我们将...智能合约是用一种称为 Solidity 语言编写,我们将使用它来编写我们 HelloWorld.sol 智能合约。‌...// 合约是功能和数据(其状态)集合。 部署后,合约将驻留在以太坊区块链特定地址。...// 智能合约事件是你合约将区块链发生事情传达给你应用程序前端一种方式,它可以“监听”某些事件并在它们发生采取行动。...如果我们去 Goerli etherscan 并搜索我们合约地址,我们应该能够看到它已经成功部署。

78620

每周以太坊进展20211224

v0.8.11[16]:Solidity 语言服务最小功能集,只有本地二进制,还没有自动完成,连接到喜欢IDE和反馈;abi.encodeCall 增加用于检查提供值是否匹配预期类型 Etherscan...增加了对 Natspec 初步支持[17]:在读取和写入合约标签查看通知、参数和返回描述 WalletConnect v2[18] 测试版 Swift 和 Kotlin SDKs hardhat-deploy-tenderly...[19]:将部署合约推送到 Tenderly 进行调试 Yul-Log[20]:编写和使用Yul+合约,支持Truffle,Hardhat正在进行中 sipping-oe(scaffold-eth)[21...]:将链 SVG NFTs 部署到 Optimism 启动工具包 ethereum-code-viewer[22]:增加了对Arbitrum,Optimism 和测试网支持 ens2airdrop...[23]:从"drop your ENS" Twitter线程收集地址 Helios[24]:正在进行基于 ERC1155 交换 Cairo-jupyter[25]:CairoJupyter内核 使用

32920

Web3 全栈指南

在这篇文章中,我们将了解如何在前端应用中,使用 HTML 和 JavaScript 与链应用(智能合约或其他应用)交互。...如何在网站上调用我智能合约执行交易? 最好实践都在做什么工具? 我在问自己这个问题,看了几乎所有最流行解决方案,并试图弄清楚应该向开发者推荐什么。...设置本地 Hardhat 区块链和合约 现在,由于我们要测试函数交互,因此需要一个区块链来发送交易,以及相应智能合约。...我们仍然使用 ethers 与智能合约交互,但我们使用 Hook 函数来启用 Metamask 和任何其他想要钱包 Provider 优点 上下文提供者 内置与智能合约交互功能 内置钱包连接 缺点...不像 web3modal 那样容易设置钱包 需要编写或使用自己 Hook 来与智能合约交互。

4.8K21

创建一个基于链实时数据动态SVG NFT

但作为可编程智能合约,s 能够做得更多。 IPFS 托管 NFT 图像 对 NFT 一个常见批评是,它们 只是一个甚至不在区块链图片链接。...链 SVG NFT 虽然 IPFS 托管元数据和图像更常见,但存在另一种类型 NFT,其中数据直接在智能合约中完全存储在链。...完整合约可以在Etherscan[9]找到,但下面是相关部分: SVG 数据是以编程方式生成、编码并由合约返回。...我们可以从其他智能合约中读取数据并将其包含在 SVG 中,每次调用渲染函数,这些数据都会自动更新读取! 这使得 SVG 图片可以合成,并对链数据变化做出反应。...一个有趣部分是使用接口与两个外部合约进行交互。这对其他类型智能合约来说非常常见,但对 NFT 来说却不是。 第一个外部合约是一个 ETH 流合约,每个 BuidlGuidl 成员都有相应合约

95550

使用 React 和 ethers.js 构建DApp

DAPP 通常由三部分组成: 部署在链智能合约 用 Node.js、React 和 Next.js 构建 Webapp(用户界面) 钱包(用户在浏览器中控制/移动钱包 App) 我们使用ethers.js...任务 1.2:在 Hardhat 开发 我们将在 Hardhat 开发环境中体验智能合约开发过程。 在 Hardhat 启动项目中,默认包含有智能合约、测试脚本和部署脚本样本。...我们使用 React 钩子useEffect来查询组件加载智能合约信息。...我们使用 JavaScript API(ethers.js)在链外调用智能合约状态变化函数。 第 2 步:链确认。状态改变交易需要由矿工使用共识算法在链几个区块进行确认。...通过这些任务,我们还了解到 3 种与智能合约交互方式: 读取:从智能合约中获取数据 写:在智能合约中更新数据 监听,监听智能合约发出事件 在本教程中,我们直接使用ethers.js来连接到区块链。

5.2K30
领券