智能合约学习笔记
关于以太坊交易数据结构的知识:
https://learnblockchain.cn/article/2517
https://learnblockchain.cn/2018/01/04/understanding-smart-contracts/
![](https://img.haomeiwen.com/i22279699/bd1ea683b99d5111.png)
了解ContractTransactionResponse里字段的含义,以太坊交易原理,交易的data字段。
以太坊交易回执-receipt: https://learnblockchain.cn/books/geth/part1/receipt.html
根据txhash查询交易的方法:https://docs.ethers.org/v6/api/providers/#Provider-getTransaction
一边从学习一些例子开始,再一边学习理论和原理是个比较好的实践方式:
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/
Hardhat开发框架:
https://hardhat.org/docs
《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与钱包进行交互,通过钱包去调用链上的合约。