Skip to content

Commit 4a66ddc

Browse files
committed
docs: add example and dydx explorer
1 parent 48ff6c9 commit 4a66ddc

File tree

1 file changed

+34
-24
lines changed

1 file changed

+34
-24
lines changed

defi/DYDX/starkex.md

+34-24
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,39 @@
1-
dYdX 为了提升交易性能和降低成本,采用了 StarkWare 开发的 StarkEx 作为其二层扩展方案。
1+
dYdX 为了提升交易性能和降低成本,采用了 StarkWare 开发的 StarkEx 作为其二层扩展方案。StarkEx 提供了更高效的交易处理能力,与其他扩展方案相比,其利用零知识证明技术的独特优势包括更低的 gas 费用和更高的扩展性。
22

33
**StarkEx 技术架构**
44

55
StarkEx 利用 STARK(Scalable Transparent Argument of Knowledge)技术,为 dYdX 提供高效的交易处理能力。其核心组件包括:
66

7-
- **StarkEx 服务(StarkEx Service)**:处理用户的交易请求,并将其打包成批次。
8-
- **SHARP(SHARed Prover)**:为每个交易批次生成有效性证明。
9-
- **Stark 验证器(Stark Verifier)**:在以太坊主网上验证这些证明的有效性。
10-
- **Stark 合约(Stark Contract)**:在链上管理状态更新。
11-
12-
用户的交易首先由 StarkEx Service 处理,随后 SHARP 生成相应的有效性证明。Stark Verifier 验证该证明后,Stark Contract 在以太坊主网上更新状态。
13-
14-
## Starkex 合约
15-
dYdX: L2 Perpetual Smart Contract
16-
dYdX: L2 On-Chain Operator
17-
18-
https://github.com/starkware-libs/starkex-contracts/blob/StarkExchange-v4.5/scalable-dex/contracts/src/interactions/Deposits.sol
19-
https://github.com/starkware-libs/starkex-contracts/blob/StarkExchange-v4.5/scalable-dex/contracts/src/interactions/Withdrawals.sol
20-
Dydx页面显示
21-
https://dydx.l2beat.com/
22-
转账过程
23-
转账15USDT到 dYdX: L2 Perpetual Smart Contract(15-2022-11-15 12:10:59 PM)
24-
L2 Perpetual Smart Contract
25-
https://dashboard.tenderly.co/tx/mainnet/0x8ea3a15828fb5814091d3fc246920228c1c1480086f467978fe357f5bf3a2ac4?trace=0.8.1.1.0.7
26-
状态确认
27-
https://etherscan.io/tx/0x7985593db99c33fa851a196bd8b374221c6063fc654278c9d85d163c29dbcb06
28-
https://github.com/starkware-libs/starkex-contracts/blob/StarkExchange-v4.5/scalable-dex/contracts/src/starkex/interactions/UpdateState.sol performUpdateState
29-
updateState(uint256[] publicInput, uint256[] applicationData)
7+
- **StarkEx 服务(StarkEx Service)**:处理用户的交易请求,并将其打包成批次,提升交易吞吐量。
8+
- **SHARP(SHARed Prover)**:为每个交易批次生成有效性证明,确保交易的真实性和数据隐私。
9+
- **Stark 验证器(Stark Verifier)**:在以太坊主网上验证这些证明的有效性,确保链上状态的准确性。
10+
- **Stark 合约(Stark Contract)**:在链上管理状态更新,保障整个系统的安全性和一致性。
11+
12+
用户的交易首先由 StarkEx Service 处理,随后 SHARP 生成相应的有效性证明。Stark Verifier 验证该证明后,Stark Contract 在以太坊主网上更新状态,从而实现快速且安全的交易处理。
13+
14+
**StarkEx 合约**
15+
16+
StarkEx 的合约设计涵盖多个模块,用于处理存款、取款和状态更新:
17+
18+
- **Deposits.sol**:管理用户存款的合约模块,用于将资产从 L1 转移到 StarkEx 系统。
19+
[查看代码](https://github.com/starkware-libs/starkex-contracts/blob/StarkExchange-v4.5/scalable-dex/contracts/src/interactions/Deposits.sol)
20+
- **Withdrawals.sol**:负责处理用户从 StarkEx 系统提取资产到 L1 的逻辑。
21+
[查看代码](https://github.com/starkware-libs/starkex-contracts/blob/StarkExchange-v4.5/scalable-dex/contracts/src/interactions/Withdrawals.sol)
22+
- **UpdateState.sol**:核心合约模块之一,用于执行状态更新操作,支持高效的批量交易验证。
23+
[查看代码](https://github.com/starkware-libs/starkex-contracts/blob/StarkExchange-v4.5/scalable-dex/contracts/src/starkex/interactions/UpdateState.sol)
24+
25+
updateState 函数示例:
26+
```solidity
27+
updateState(uint256[] publicInput, uint256[] applicationData)
28+
```
29+
此函数通过接收公共输入和应用数据,完成系统状态的更新。
30+
31+
**实际应用示例**
32+
33+
- 在 dYdX 平台上执行交易时,用户资金被转入 **L2 Perpetual Smart Contract** 中。例如:
34+
[转账交易示例](https://dashboard.tenderly.co/tx/mainnet/0x8ea3a15828fb5814091d3fc246920228c1c1480086f467978fe357f5bf3a2ac4?trace=0.8.1.1.0.7)
35+
- 交易完成后,状态更新操作的执行记录可在以太坊区块链上验证:
36+
[状态确认交易](https://etherscan.io/tx/0x7985593db99c33fa851a196bd8b374221c6063fc654278c9d85d163c29dbcb06)
37+
38+
更多关于 dYdX 和 StarkEx 的细节可以参考其 [状态仪表盘](https://dydx.l2beat.com/),了解实时数据与合约交互记录。
39+

0 commit comments

Comments
 (0)