ECP (Edge Computing Provider) is a crucial component in the Swan Chain ecosystem and is responsible for executing Zero-Knowledge (ZK) computation tasks. The Sequencer is an optimization component aggregating proofs submitted by multiple ECPs, processing them in batches to reduce gas fees and improve overall efficiency.
- CP Account (Computing Provider Account): An independent on-chain contract account for CP operations and fund management. FCP and ECP have the same account structure.
- Owner Address: Hold the highest authority to manage the CP account.
- Beneficiary Address: Receives rewards for ZK tasks.
- Worker Address: Used for submitting proofs.
- Collateral Account: ECP's collateral account in the collateral contract (SwanC).
- Escrow Account: A account for storing ECP's collateral in collateral contarct, ensuring that ECP can receive ZK tasks.
- Sequencer Account: ECP's account in the sequencer contract, used to pay for gas fees required when submitting ZK proofs.
- Initial Setup
- Account Setup
- Configuring Sequencer (Recommended)
- Task Execution and Rewards
- Exit Procedure
ETH is required for transaction gas fees. Follow these steps:
- Visit Swan Chain's official bridge website: https://bridge.swanchain.io
- Cross-chain your ETH to Swan Chain to obtain ETH
- Prepare sufficient ETH to account for potential fluctuations in network gas fees
ECP requires SWAN as collateral. You can purchase SWAN from centralized exchanges (CEXs).
SWAN is currently listed on Gate.io, MEXC, and LBank.
Contract Address: 0xBb4eC1b56cB624863298740Fd264ef2f910d5564
- Collateral amounts dynamically adjust based on network computing power.
- Review our comprehensive collateral documentation for detailed information
- Monitor the Swan dashboard for computing units and base collateral trends(upcoming feature)
- Maintain sufficient collateral to ensure continuous task eligibility
Depositing SWANU to the Collateral Account: Use the following command:
computing-provider collateral add --ecp --from <WALLET_ADDRESS> --account <CP_ACCOUNT> <Amount>
In the ECP configuration file, set EnableSequencer = true
and autoChainProof = true
When autoChainProof
is true, ECP will prioritize submitting proofs via the sequencer. If the sequencer lacks sufficient gas, it will automatically submit proofs on-chain. If set to false, ECP won't submit tasks when the sequencer lacks gas.
{% hint style="info" %} Note: ECPs can submit proofs in two ways:
- Directly to Swan Chain as a contract (higher gas consumption per transaction)
- To the zk-sequencer for batch aggregation (lower gas consumption, recommended) {% endhint %}
When using the sequencer, pre-fund the CP's sequencer account with ETH on Swan Chain. Currently, the gas is decided by the Dynamic Pricing Strategy. For more detailed information, see here.
computing-provider sequencer add --from <WALLET_ADDRESS> --account <CP_ACCOUNT> <Amount>
Note: The sequencer periodically processes tasks and deducts from the sequencer account. If the balance is insufficient during settlement, it may become negative. ECPs need to refund to receive new tasks.
Rewards are distributed during the next settlement cycle after 24 hours following the CP UBI-0 event rules, typically within 48 hours of task proof submission, to the beneficiary account.
Read swan-provider-income.md to learn more.
Check the transaction list of the beneficiary account on the blockchain explorer: https://swanscan.io.
Alternatively, you can use the CP command to view UBI tasks:
computing-provider ubi list
The result will look like this:
TASK ID TASK CONTRACT TASK TYPE ZK TYPE STATUS REWARD SEQUENCER CREATE TIME
1081868 0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043 GPU fil-c2-32G verified 0.00 YES 2024-11-03 10:40:31
1081072 0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043 GPU fil-c2-32G verified 0.00 YES 2024-11-03 11:10:30
1081749 0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043 GPU fil-c2-32G verified 0.00 YES 2024-11-03 11:40:33
1081904 0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043 GPU fil-c2-32G verified 0.00 YES 2024-11-03 12:10:34
1081748 0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043 GPU fil-c2-32G verified 0.00 YES 2024-11-03 13:10:26
1081562 0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043 GPU fil-c2-32G verified 0.00 YES 2024-11-03 13:40:29
1081980 0x008E2334B34737D42128d13Ee50A78322663d7a7 GPU fil-c2-32G verified 0.00 YES 2024-11-03 14:10:31
1081861 0x008E2334B34737D42128d13Ee50A78322663d7a7 GPU fil-c2-32G received 0.00 YES 2024-11-03 14:40:27
To maintain network performance and accountability, CPs are subject to a precise slashing mechanism that penalizes inefficient or unreliable computing services. For each failed task, CPs face graduated penalties:
- Edge Computing Providers (ECP) lose 0.025% of their current full collateral amount per failed task (approximately 0.88 SWAN for a 3080 GPU), with around 48 tasks processed daily.
If a CP's collateral amount falls below the required threshold, they become ineligible to receive Universal Basic Income (UBI) tasks. To mitigate the risk of unexpected task exclusion, CPs are advised to maintain a buffer in their collateral amount.
�More details about Slash Collateral, check here: https://docs.swanchain.io/core-concepts/token/computing-provider-collateral#slashing-mechanism
computing-provider account changeTaskTypes --ownerAddress=<OWNER_ADDRESS> 0
Backup the CP_PATH directory (default: ~/.swan/computing)
a) Withdraw from collateral account:
computing-provider collateral withdraw --ecp --owner=<OWNER_ADDRESS> <AMOUNT>
b) Withdraw from sequencer account:
computing-provider sequencer withdraw --owner=<OWNER_ADDRESS> <AMOUNT>
c) Withdraw from escrow account:
- Initiate withdrawal request:
computing-provider collateral withdraw-request --owner=<OWNER_ADDRESS> --account=<CP_ACCOUNT> --ecp <AMOUNT>
- Confirm withdrawal after 7 days:
computing-provider collateral withdraw-confirm --owner=<OWNER_ADDRESS> --account=<CP_ACCOUNT> --ecp
Note: Escrow account balance may fluctuate due to periodic settlements. It's advisable to wait 24 hours after changing taskTypes
before requesting the withdrawal. Confirmation can only be made 7 days after the initial request. Funds will be withdrawn to the CP's ownerAddress
upon confirmation.