Skip to content

Commit 09882c9

Browse files
committed
update zh docs
1 parent 024cf98 commit 09882c9

File tree

8 files changed

+64
-17
lines changed

8 files changed

+64
-17
lines changed

src/content/docs/zh/developers/guides/bridge-erc20-through-the-custom-gateway.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,5 +351,4 @@ contract L2CustomERC20Gateway is L2ERC20Gateway, ScrollGatewayBase, Ownable {
351351

352352
### 桥接代币
353353

354-
We can now call `depositERC20` from `MyL1Gateway` and `withdrawERC20` from `MyL2Gateway` just as with the official Scroll bridge.
355354
我们现在可以调用 `MyL1Gateway` 合约的 `depositERC20``MyL2Gateway` 合约的 `withdrawERC20` ,就像Scroll官方跨链桥一样

src/content/docs/zh/developers/guides/scroll-messenger-cross-chain-interaction.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ date: Last Modified
44
title: "Scroll Messenger 跨链交互"
55
lang: "zh"
66
permalink: "developers/guides/scroll-messenger-cross-chain-interaction"
7+
whatsnext: { "通过自定义 Gateway 跨链 ERC20": "/developers/guides/bridge-erc20-through-the-custom-gateway" }
78
excerpt: "In this example, we will launch a dummy smart contract on either Sepolia or Scroll Sepolia testnet and interact with it from the opposite chain."
89
---
910

@@ -81,7 +82,7 @@ contract GreeterOperator {
8182
- `value`: 在此示例中,是 `0` ,因为 `setGreeting` 不是付款方法。
8283
- `greeting`: 这是将通过消息传递的参数,尝试传入 `“This message was crosschain!”`
8384
- `gasLimit`:
84-
- 如果要将消息从 L1 发送到 L2,则gas上限为 5000 应该绰绰有余
85+
- 如果要将消息从 L1 发送到 L2,约 1000000 的 gas 上限应该足够了。话虽如此,如果您设置得太高,并且 `msg.value` 不足以支付 `gasLimit` * `baseFee`,交易将回滚。如果 `msg.value` 大于 gas 费用,多余的部分将被退还
8586
- 如果要将消息从 L2 发送到 L1,请传递 0 ,因为交易通过在 L1 上执行其他交易来最终确认。
8687

8788
### 从 L2 向 L1 中继消息

src/content/docs/zh/developers/l1-and-l2-bridging/erc1155-token-bridge.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function depositERC1155(
109109
| to | L2 上收款人账户的地址 |
110110
| tokenId | 要存入的 NFT ID |
111111
| amount | 要存入的代币数量 |
112-
| gasLimit | 在L2上完成存款所需的gas上限 |
112+
| gasLimit | 在L2上完成存款所需的gas上限,未使用的部分将会退回 |
113113

114114
### updateTokenMapping
115115

src/content/docs/zh/developers/l1-and-l2-bridging/erc721-nft-bridge.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ function depositERC721(address _token, address _to, uint256 _tokenId, uint256 _g
8080
| token | L1 上 ERC721 NFT 合约的地址 |
8181
| to | L2 上收款人账户的地址 |
8282
| tokenId | 存入的 NFT ID |
83-
| gasLimit | 在L2上完成存款所需的gas上限 |
83+
| gasLimit | 在L2上完成存款所需的gas上限,未使用的部分将会退回 |
8484

8585
### updateTokenMapping
8686

@@ -100,7 +100,7 @@ function updateTokenMapping(address _l1Token, address _l2Token) external;
100100
### withdrawERC721
101101

102102
```solidity
103-
function depositERC721(address _token, address _to, uint256 _tokenId, uint256 _gasLimit) external payable;
103+
function withdrawERC721(address _token, address _to, uint256 _tokenId, uint256 _gasLimit) external payable;
104104
```
105105

106106
将 ERC721 NFT 从 L2 发送到收款人在 L1 上的账户。

src/content/docs/zh/developers/l1-and-l2-bridging/eth-and-erc20-token-bridge.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ Gateway Router 合约允许 ETH 和 ERC20 代币分别使用 `depositETH` 和 `d
2121
桥接ERC20代币时,你不必担心如何选择正确的网关。这是因为 `L1GatewayRouter` 将选择正确的入口来发送消息:
2222

2323
- **`L1StandardERC20Gateway`:** 此网关允许人任意 ERC20 存款,并且被 `L1GatewayRouter` 选作不需要在 L2 上自定义逻辑的 ERC20 代币的默认网关。在第一次代币桥接时,将在L2上创建一个实现了 ScrollStandardERC20 的新代币。要桥接代币,请调用 `L1GatewayRouter` 上的 `depositERC20` 方案。
24-
- **`L1CustomERC20Gateway`:** 此网关将被 `L1GatewayRouter` 选作需要在 L2 上自定义逻辑的 ERC20 代币. 要使 L1/L2 代币对在Scroll自定义的 ERC20 跨链桥上工作,L2 代币合约必须实现 `IScrollStandardERC20`。此外,代币应包含对 `L2CustomERC20Gateway``mint``burn` 功能。请访问 [通过自定义网关桥接 ERC20 指南](/developers/developer-guides/bridge-erc20-through-the-custom-gateway),获取有关如何桥接自定义代币的分步示例。
24+
- **`L1CustomERC20Gateway`:** 此网关将被 `L1GatewayRouter` 选作需要在 L2 上自定义逻辑的 ERC20 代币. 要使 L1/L2 代币对在Scroll自定义的 ERC20 跨链桥上工作,L2 代币合约必须实现 `IScrollStandardERC20`。此外,代币应包含对 `L2CustomERC20Gateway``mint``burn` 功能。请访问 [通过自定义网关桥接 ERC20 指南](/zh/developers/guides/bridge-erc20-through-the-custom-gateway),获取有关如何桥接自定义代币的分步示例。
2525

2626
所有网关合约都将形成消息,并将其发送到可以向L2发送任意消息的网关合约 `L1ScrollMessenger``L1ScrollMessenger` 合约将消息传递给 `L1MessageQueue` .任何用户都可以将消息直接发送到Message 合约,以在L2上执行任意数据。这意味着他们可以通过跨链桥从 L1 上的交易在 L2 上执行任何方法。尽管应用程序可以直接将消息传递到现有代币合约,但网关抽象了细节并简化了传输和调用过程。
2727

2828
<Aside type="tip" title="">
29-
用户还可以绕过 `L1ScrollMessenger` 合约并将消息直接发送到 `L1MessageQueue`.如果消息是通过 `L1MessageQueue` 发送,则交易的发送方将是发送交易的用户的地址,而不是 `L1ScrollMessenger` 地址。如需详细了解如何发送任意消息,请参阅[Scroll Messenger一文](/developers/l1-and-l2-bridging/the-scroll-messenger)
29+
在未来的升级中,用户将能够绕过 L1ScrollMessenger 直接向 L1MessageQueue 发送消息。如果通过 L1MessageQueue 发送消息,交易的发送者将是发送交易的用户地址,而不是 L1ScrollMessenger 的地址
3030
</Aside>
3131

3232
当在 L1 上创建新区块时,观察器(Watcher)将检测到 `L1MessageQueue` 的消息并将其传递给中继器(Relayer)服务,后者将通过 l2geth 节点将交易提交到 L2。最后,l2geth节点将交易传递给 `L2ScrollMessagner` 合约,以便在L2上执行。

src/content/docs/zh/developers/verifying-smart-contracts.mdx

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,20 @@ import CodeSample from "../../../../components/CodeSample/CodeSample.astro"
2424

2525
大多数智能合约工具都有插件,可以在Etherscan上轻松验证您的合约。Blockscout支持Etherscan的合约验证API,将这些工具与Scroll Sepolia测试网一起使用非常简单。
2626

27+
| 网络 | Scroll | Scroll Sepolia |
28+
| ---------- | -------------------------------- | ---------------------------------------- |
29+
| Scrollscan | https://api.scrollscan.com/api | https://api-sepolia.scrollscan.com/api |
30+
| Blockscout | https://blockscout.scroll.io/api | https://sepolia-blockscout.scroll.io/api |
31+
32+
<Aside type="tip" title="使用 Scrollscan API">
33+
在使用 Scrollscan 时,您需要 [注册一个账户](https://scrollscan.com/register) 并创建一个 API 密钥。相同的密钥可以用于 Scroll Sepolia 和主网。创建 API 密钥后,请等待几分钟使其生效。
34+
</Aside>
35+
2736
### Hardhat
2837

2938
首先,修改 `hardhat.config.ts` 以指向 Scroll 的 RPC 和 `sepolia-blockscout.scroll.io/api`. `apyKey` 设置为虚拟值是必需的,但任何内容都适合其 `apyKey` 值。
3039

40+
例如,如果您在 Blockscout 上使用 Scroll Sepolia,您的配置将如下所示:
3141
```javascript
3242
...
3343

@@ -80,8 +90,46 @@ npx hardhat verify --network scrollSepolia 0xD9880690bd717189cC3Fbe7B9020F27fae7
8090

8191
### Foundry
8292

83-
使用Foundry时, `verify-contract` 有助于自动化验证合约。
93+
在使用 Foundry 时,`verify-contract` 命令有助于自动化合约验证的过程。如果您的合约具有构造函数参数,您可以使用 `--constructor-args` 选项以 ABI 编码形式指定这些参数。例如,如果您的构造函数接受两个 `uint256` 变量:
94+
```bash
95+
--constructor-args $(cast abi-encode "constructor(uint256,uint256)" 0 7)
96+
```
97+
98+
请参考 [Foundry 文档](https://book.getfoundry.sh/reference/forge/forge-verify-contract) 以获取您可以指定的更多选项。
99+
100+
101+
#### Scrollscan
84102

85103
```bash
86-
forge verify-contract <Contract Address> <Space separated params> <Solidity file>:<Contract name> --chain-id 534351 --verifier-url <https://sepolia-blockscout.scroll.io/api> --verifier blockscout
104+
forge verify-contract <contract address> <contract name> \
105+
--verifier-url https://api-sepolia.scrollscan.com/api \
106+
--etherscan-api-key <your Scrollscan API key> \
107+
--constructor-args <your constructor arguments>
87108
```
109+
<Aside type="caution" title="Caution">
110+
不要指定链 ID
111+
</Aside>
112+
113+
#### Blockscout
114+
115+
将验证提供者指定为 `blockscout`
116+
117+
##### Scroll
118+
```bash
119+
forge verify-contract <contract address> <contract name> \
120+
--verifier-url https://blockscout.scroll.io/api\? \
121+
--verifier blockscout \
122+
--constructor-args <your constructor arguments>
123+
```
124+
125+
##### Scroll Sepolia
126+
```bash
127+
forge verify-contract <contract address> <contract name> \
128+
--verifier-url https://sepolia-blockscout.scroll.io/api\? \
129+
--verifier blockscout \
130+
--constructor-args <your constructor arguments>
131+
```
132+
133+
<Aside type="danger" title="Warning">
134+
注意,在验证器 URL 的末尾添加 `\?`,否则验证将失败(在 forge v0.2.0 上测试通过)。
135+
</Aside>

src/content/docs/zh/technology/bridge/cross-domain-messaging.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function sendMessage(
109109
这两个函数都需要用户在L2上为对应的 `L1MessageTx` 交易提供gas上限,并预付根据gas上限计算而来的 L1 的[消息中继费用](#message-relay-fee)。
110110
该费用通过 L1 上的 `feeVault` 合约收取。
111111
如果由于用户没有为其L1上的消息设置正确的 gas 上限而导致 L2 上的交易失败,则用户可以用更高的 gas 上限重放相同的消息。
112-
您可以在[重放失败消息](#retrying-failed-messages)部分,找到更多详细信息。
112+
您可以在[重放失败消息](#retrying-failed-messages)部分,找到更多详细信息。但由于这些费用的任何未使用部分都会退还给用户,因此高估 gas 限制不会有任何惩罚。
113113
114114
`sendMessage` 函数将参数编码进跨链消息(请参考下面的代码片段),其中消息 nonce 是 L1 消息队列中下一条消息的索引值。然后,编码的数据将被用于在 L2 上执行的 `L1MessageTx` 交易中的调用数据(calldata)。
115115
请注意,此类跨链消息始终调用 L2 上 `L2ScrollMessenger` 合约的 `relayMessage` 函数。

src/content/docs/zh/technology/security/audits-and-bug-bounty.mdx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,18 @@ Scroll 已经与多家业内领先的安全审计公司合作,来审查我们
3434
### zkEVM 电路
3535

3636
- Trail of Bits
37-
- Wave 1
38-
- Wave 2
39-
- Wave 3
37+
- [Wave 1](https://github.com/trailofbits/publications/blob/master/reviews/2023-04-scroll-zkEVM-wave1-securityreview.pdf)
38+
- [Wave 2](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scroll-zkEVM-wave2-securityreview.pdf)
39+
- [Wave 3](https://github.com/trailofbits/publications/blob/master/reviews/2023-09-scroll-zkEVM-wave3-securityreview.pdf)
4040
- Zellic and Kalos
41-
- [Wave 1](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%201%20Audit%20Report.pdf)
42-
- [Wave 2](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%202%20Audit%20Report.pdf)
41+
- [Wave 1](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%201%20-%20Audit%20Report.pdf)
42+
- [Wave 2](https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%202%20-%20Audit%20Report.pdf)
4343

4444
### 节点实现
4545

4646
- Trail of Bits
4747
- [zkTrie](https://github.com/trailofbits/publications/blob/master/reviews/2023-07-scroll-zktrie-securityreview.pdf)
48-
- L2geth
48+
- [L2geth](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scrollL2geth-initial-securityreview.pdf)
4949
- [L2geth diff](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scrollL2geth-securityreview.pdf)
5050

5151
### 跨链桥和 Rollup 合约
@@ -66,7 +66,6 @@ Scroll 已经与多家业内领先的安全审计公司合作,来审查我们
6666
Scroll 在业内知名的漏洞赏金平台 Immunefi 上有一个活跃的 [漏洞赏金计划](https://immunefi.com/bounty/scroll/)
6767
该计划向公众开放,我们鼓励任何人参与。
6868

69-
Rewards depend on the severity of reported vulnerabilities:
7069
奖励取决于报告漏洞的严重程度:
7170

7271
- **严重**: 高达 \$1,000,000

0 commit comments

Comments
 (0)