Skip to content

Commit 11403d8

Browse files
committed
init
1 parent 59b2da7 commit 11403d8

File tree

3 files changed

+47
-3
lines changed

3 files changed

+47
-3
lines changed

13区块链/1概念.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,33 @@ ERC-1155:批量转移,创建半可替代代币和不可替代代币
4343
- 数据存储:RocksDB
4444
- 共识算法:POS
4545

46-
46+
## EIP和ERC
47+
- EIP全称 Ethereum Imporvement Proposals(以太坊改进建议), 是以太坊开发者社区提出的改进建议, 是一系列以编号排定的文件, 类似互联网上IETF的RFC。
48+
- EIP可以是 Ethereum 生态中任意领域的改进, 比如新特性、ERC、协议改进、编程工具等等。
49+
- ERC全称 Ethereum Request For Comment (以太坊意见征求稿), 用以记录以太坊上应用级的各种开发标准和协议。
50+
51+
## ERC165
52+
- 检查某项目是不是智能合约。
53+
- ERC165是一种对外表明自己实现了哪些接口的技术标准。
54+
- ERC165规定了计算接口ID的方式。
55+
```solidity
56+
interface IERC165 {
57+
/**
58+
* @dev 如果合约实现了查询的`interfaceId`,则返回true
59+
* 规则详见:https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
60+
*
61+
*/
62+
function supportsInterface(bytes4 interfaceId) external view returns (bool);
63+
}
64+
```
65+
66+
## ERC721
67+
- ERC721Enumerable(提高NFT可访问性)
68+
- ERC721A(节约铸造gas)
69+
70+
## 荷兰拍卖
71+
- 荷兰拍卖的价格由最高慢慢下降,能让项目方获得最大的收入。
72+
- 拍卖持续较长时间(通常6小时以上),可以避免gas war。
4773

4874
## 参考内容
4975

13区块链/2资料.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717

1818
## 博客
1919

20-
- [eth钱包开发](https://www.jidangeng.com/post/)
20+
- [eth钱包开发](https://www.jidangeng.com/post/)
21+
22+
## 教程
23+
- [speedrunethereum](https://speedrunethereum.com/)

13区块链/contract/solidity.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,5 +239,20 @@ call 是address类型的低级成员函数,它用来与其他合约交互。
239239
- 交易所为新用户预留创建钱包合约地址。
240240
- 由 CREATE2 驱动的 factory 合约,在uniswapV2中交易对的创建是在 Factory中调用create2完成。这样做的好处是: 它可以得到一个确定的pair地址, 使得 Router中就可以通过 (tokenA, tokenB) 计算出pair地址, 不再需要执行一次 Factory.getPair(tokenA, tokenB) 的跨合约调用。
241241
242-
- selfdestruct:删除合约
242+
- ~~selfdestruct:删除合约 ~~
243+
`selfdestruct(_addr);`:其中_addr为接收ETH的地址。当合约被销毁后与智能合约的交互也能成功,并且返回0。
244+
245+
- ABI编码
246+
- abi.encode:将每个参数转填充为32字节的数据,并拼接在一起。和合约交互用。
247+
- abi.encodePacked:类似 abi.encode,但是会把其中填充的很多0省略。比如,只用1字节来编码uint类型。当你想省空间,并且不与合约交互的时候,可以使用abi.encodePacked,例如算一些数据的hash时。
248+
- abi.encodeWithSignature:与abi.encode功能类似,只不过第一个参数为函数签名。abi.encode编码结果前加上了4字节的函数选择器。
249+
- abi.encodeWithSelector:与abi.encodeWithSignature功能类似,只不过第一个参数为函数选择器,为函数签名Keccak哈希的前4个字节。
250+
251+
- ABI解码
252+
- abi.decode:用于解码abi.encode生成的二进制编码,将它还原成原本的参数。
253+
254+
- 函数选择器
255+
> 在函数签名中,uint和int要写为uint256和int256。
256+
257+
243258

0 commit comments

Comments
 (0)