
世界杯竞猜Dapp
文章平均质量分 64
”PANDA
努力是最不值得被炫耀的东西
展开
-
世界杯竞猜项目Dapp-第五章(合约升级)
目前主流有三种合约升级方法本次采用 transparent 方式,具体实现思路即,引入一个代理合约 Proxy(蓝色),用户仅与这个代理合约进行交互,由代理合约去与业务合约进行交互,因此在业务合约发生变化(升级)的时候,用户无感,并且历史数据也能够保留下来,如下图所示:既然业务合约可以随意切换,那用户数据就只能存储在代理合约中了,在实际进行业务处理时,数据读写都是从代理合约来的,即数据与逻辑分离,其实现的核心便是 delegatecall 关键字。原创 2022-12-25 19:53:36 · 1795 阅读 · 1 评论 -
世界杯竞猜项目Dapp-第四章(subgraph)
这里对 graph node 与 subgraph 关系进行说明,在 graph node 上可以部署多个 subgraph,每个 subgraph 可以服务多个不同的项目。具体选项跟随引导程序填写,选择:网络 -> 名称 -> 合约地址 -> 合约名字,引导程序会自动在网络上拉取 ABI(前提是我们 verify 了,否则需要自己填写)增加扫块起点 startBlock 为当前合约所部署的块,如果不增加,则从最初块开始扫,效率低。subgraph 项目结构。原创 2022-12-14 13:16:31 · 713 阅读 · 0 评论 -
世界杯竞猜项目Dapp-第三章(ERC20)
ERC20 是标准的以太坊 Token 协议,它也是一个合约代码,只要在该合约内部实现了特定的 6 个方法,就会被系统判定为代币合约,具体总结为:6 个必要接口,2 个必要事件,3 个可选接口原创 2022-12-13 15:56:58 · 579 阅读 · 0 评论 -
世界杯竞猜项目Dapp-第二章(hardhat部署合约)
根本之一可能是电脑设置的代理只针对浏览器,终端没有设置代理,这个问题我并没有真正解决,虽然我尝试在 hosts 文件中添加了地址映射,解决了连接超时的问题,但最后结果就像上面这样报另外一个错误,不知道如何解决了,如果有解决了的小伙伴可以留言。最后采取的方案是直接在。将 Worldcup.sol(上节编写的合约)添加到 contracts 目录,并进行编译。然后在项目根目录下添加 .env 文件,以配置连接用到的 key,先获取 key。编写完,运行单元测试:npm hardhat test,效果如下。原创 2022-12-08 15:49:00 · 903 阅读 · 0 评论 -
世界杯竞猜项目Dapp-第一章(合约开发)
最近卡塔尔世界杯如火如荼,让我们一起来尝试利用 solidity 语言做一个世界杯竞猜的 Dapp 实战项目,本次实战学习主要参考:https://github.com/dukedaily/solidity-expert,我会针对原始项目做更详尽的注解,持续更新中…原创 2022-12-04 20:09:15 · 1313 阅读 · 0 评论