Skip to content

Commit dca225d

Browse files
committed
Add study notes for 2025-08-16
1 parent 3a7f22b commit dca225d

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

look-new.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,44 @@ timezone: UTC+8
1515
## Notes
1616

1717
<!-- Content_START -->
18+
# 2025-08-16
19+
20+
# 环境搭建
21+
22+
- 包管理器:npm, pnpm
23+
- Foundry:web3开发,测试,部署的全套工具链
24+
25+
# 创建与测试合约
26+
27+
### 背景知识
28+
29+
## 🔨 1. 部署合约(需要 **MetaMask 私钥**
30+
31+
- 部署合约 = **在区块链上发一笔交易**(把合约字节码发送到链上)。
32+
- 所有交易都必须用你的 **钱包私钥** 来签名,才能被网络接受。
33+
- **MetaMask 私钥**就是用来签名的。
34+
35+
👉 类比现实:
36+
37+
- 部署合约 = “盖章的合同交给法院存档”
38+
- 私钥 = 你手上的公章,没有签名别人不认。
39+
40+
所以部署合约时,你要用 MetaMask 私钥(但一般会存成环境变量 `$PRIVATE_KEY`,不会直接写在代码里)。
41+
42+
---
43+
44+
## 📜 2. 验证合约(需要 **Etherscan API Key**
45+
46+
- 部署完之后,链上只存了合约的 **字节码**(机器码),别人看不到源码。
47+
- 验证合约 = 把你的 **Solidity 源码** 上传给区块浏览器(如 Etherscan),让别人可以在浏览器上看到源码和 ABI,增加透明度。
48+
- 这个过程不涉及交易签名,所以不需要你的钱包私钥。
49+
- 但 Etherscan 要区分“你是不是机器人乱传东西”,所以需要你在它网站上申请一个 **API Key** 来调用接口。
50+
51+
👉 类比现实:
52+
53+
- 验证合约 = “把合同翻译件交给档案馆,方便别人查阅”
54+
- Etherscan API Key = “档案馆给你的会员卡号”,证明你有权上传数据。
55+
1856
# 2025-08-14
1957

2058
## 2.搭建中的问题解决

0 commit comments

Comments
 (0)