Web3 DApp与Solidity智能合约开发

关于以太坊交易数据结构的知识:
https://learnblockchain.cn/article/2517
https://learnblockchain.cn/2018/01/04/understanding-smart-contracts/

了解ContractTransactionResponse里字段的含义,以太坊交易原理,交易的data字段。
以太坊交易回执-receipthttps://learnblockchain.cn/books/geth/part1/receipt.html

根据txhash查询交易的方法https://docs.ethers.org/v6/api/providers/#Provider-getTransaction
深入Solidity数据存储位置: https://learnblockchain.cn/article/4864

一边从学习一些例子开始,再一边学习理论和原理是个比较好的实践方式:
https://solidity-by-example.org/
https://learnblockchain.cn/docs/solidity/solidity-by-example.html

什么是交易hash,什么是区块hash :
https://www.jb51.net/blockchain/891465.html
进行一笔以太坊交易时涉及的哈希计算 - 知乎 (zhihu.com)

Solidity开发文档
https://docs.soliditylang.org/zh/latest/control-structures.html

Solidity开源教程
https://hicoldcat.com/posts/web3/learn-solidity-handbook-5/
GitHub solidity-expert/cn at main · dukedaily/solidity-expert
GitHub - AmazingAng/WTF-Solidity

ethers.js文档:
https://docs.ethers.org/v6/

《Next 13, Ethers v6, Hardhat — modern local blockchain development.》
https://medium.com/@evergreen.terranc3/next-13-ethers-v6-hardhat-modern-local-blockchain-development-4d4e85118c97
介绍使用nextjs 13, ethers v6, hardhat这个组合开发DApp的方法,并提供了一个脚手架。从这里可以学习nextjs前端程序配合钱包provider连接区块链合约这一套架构的开发方法。
1、不用前端钱包,调试开发测试合约(甚至直接调用mainnet上的正式合约)则是用基于nodejs的hardhat集成的ethers.js去调用Quicknode或者Alchemy这种rpc平台Provider,通过后者去调用链上的合约。
2、使用前端钱包、例如MetaMask这种Provider,那么就是nextjs开发的前端程序提供用户交互功能、以及通过ethers.js与钱包进行交互,通过钱包去调用链上的合约。

DApp架构,开发实践指南:

https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application

https://guoyu.mirror.xyz/RD-xkpoxasAU7x5MIJmiCX4gll3Cs0pAd5iM258S1Ek 《Web3 DApp最佳编程实践指南》

https://www.liaoxuefeng.com/article/1529816679448611 Web3全栈开发指南

Hardhat框架:
https://hardhat.org/docs
作用是帮助开发、测试、部署Solidity合约,但是用来完成这些工作的框架脚本是JS/TS (这个框架是基于nodejs的),所以对前端开发比较友好。
https://hardhat.org/tutorial/final-thoughts

Solidity智能合约开源教程:

Solidity 中文教程_w3cschool

https://github.com/AmazingAng/WTF-Solidity/

https://github.com/dukedaily/solidity-expert

这30个以太坊开发示例,让你成为80万都挖不走的区块链人才! | 登链社区 | 区块链技术社区 (learnblockchain.cn)

学习前端开发:

JavaScript、TypeScript, react, vue, nextjs等

web app的前端和后端都用nextjs + Vercel来做:
https://react.dev/learn/tutorial-tic-tac-toe
https://www.nextjs.cn/learn/basics/create-nextjs-app

笔记:

使用hardhat/ethers.js调用已经存在的合约 - 肥兔子爱豆畜子 - 博客园 (cnblogs.com)

以太坊dApp入门开发 - 肥兔子爱豆畜子 - 博客园 (cnblogs.com)
https://juejin.cn/post/7138072108516507661 一个web3开发入门历程

开发流程:

基于目前的学习成果,理一下目前的开发流程:
1、用hardhat编写和调试solidity合约,然后部署到正式或测试网上。
(1). 开发智能合约的时候可以借助OpenZeppelin等智能合约库。
(2). 可以用hardhat模拟的本地网络做测试。
(3). 如果要发布到mainnet或者其他公共测试网,可以用通过调用Alchemy、QuickNode等公共基础设施来进行部署,和调用链上合约的方法。
2、用react等框架开发前端工程代码,部署在服务器上
3、前端除了普通的web2功能之外,区别主要是两个:
(1). 前端代码与本地浏览器钱包交互(如MetaMask),主要是做sign,用ethers.js
(2). 前端代码通过浏览器插件钱包来切换需要请求的网络,比如主网、测试网等。钱包相当于一个连入区块链网络的轻量化节点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容