-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
299 additions
and
178 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,10 @@ | ||
sequenceDiagram | ||
User ->> Home Contract: Transaction | ||
Home Contract -->> SGN: SGN Watches Events | ||
participant User | ||
participant Home as Home Contract<br/>(Host) | ||
participant SGN | ||
participant Executor | ||
participant Sapphire as Sapphire Contract<br/>(Enclave) | ||
User ->> Home: Transaction | ||
Home -->> SGN: SGN Watches Events | ||
SGN -->> Executor: Waits for SGN Approval | ||
Executor ->> Sapphire Contract: Submit Proof Tx | ||
Executor ->> Sapphire: Submit Proof Tx |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
--- | ||
description: Integrating privacy into dApps on other blockchains | ||
--- | ||
|
||
import DocCard from '@theme/DocCard'; | ||
import DocCardList from '@theme/DocCardList'; | ||
import {findSidebarItem} from '@site/src/sidebarUtils'; | ||
|
||
# Oasis Privacy Layer (OPL) | ||
|
||
The Oasis Privacy Layer (OPL) is a powerful solution that enables developers | ||
to integrate privacy features into their decentralized applications (dApps) | ||
across multiple EVM-compatible networks. | ||
|
||
- **Privacy-First**: OPL leverages the [Sapphire]'s privacy features to ensure | ||
that data remains confidential and transactions are encrypted end-to-end. | ||
- **Cross-Chain Compatibility**: OPL is compatible with multiple blockchains | ||
through message bridging protocols, making it easy to integrate privacy | ||
regardless of the chain your dApp is built on. | ||
|
||
For more information about OPL and to catch the latest news, please visit the | ||
[official OPL page]. | ||
|
||
[official OPL page]: https://oasisprotocol.org/opl | ||
[Sapphire]: https://oasisprotocol.org/sapphire | ||
|
||
## How OPL Works | ||
|
||
The OPL is made possible through message bridges, which enable secure | ||
communication between OPL-enabled contracts on Sapphire and smart contracts on | ||
other chains. This allows dApps to access privacy-preserving capabilities while | ||
keeping their main logic on their primary chain. | ||
|
||
![Oasis Privacy Layer diagram](../images/opl/privacy-layer-diagram.png) | ||
|
||
### Message Bridges | ||
|
||
You can integrate message bridges into your dApps using one of these three methods: | ||
|
||
- **OPL-SDK**: A wrapper provided by the Oasis Protocol that simplifies the integration of message bridging with Oasis’s privacy features. | ||
- **Celer Inter-Chain Messaging (IM)**: A generalized message bridging solution by Celer, which lets you build more complex solutions. | ||
- **Router Protocol CrossTalk**: An extensible cross-chain framework that enables seamless state transitions across multiple chains. | ||
|
||
<DocCardList items={[ | ||
findSidebarItem('/dapp/opl/opl-sdk/'), | ||
findSidebarItem('/dapp/opl/celer/'), | ||
findSidebarItem('/dapp/opl/router-protocol/') | ||
]} /> | ||
|
||
## Examples | ||
|
||
<DocCardList items={[ | ||
findSidebarItem('/dapp/opl/secret-ballot-example/'), | ||
findSidebarItem('/dapp/opl/router-protocol/pingpong-example'), | ||
]} /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
--- | ||
description: A message bridge by Celer | ||
--- | ||
|
||
# Celer Inter-Chain Messaging (IM) | ||
|
||
|
||
## Monitoring | ||
|
||
The Celer IM Scan API can be used to retrieve status and message details by | ||
providing the globally unique transaction ID from the chain which originated the | ||
message. | ||
|
||
https://api.celerscan.com/scan/searchByTxHash?tx=0x... | ||
|
||
For details of the response format, see the [Query IM Tx Status] page of the | ||
Celer-IM documentation. Using this API lets you to check if messages have been | ||
delivered. | ||
|
||
[Query IM Tx Status]: https://im-docs.celer.network/developer/development-guide/query-im-tx-status | ||
|
||
## Executor | ||
|
||
The Executor is an essential part of the Celer IM framework. The Executor monitors the Celer *State Guardian Network*(SGN) for messages ready to be submitted (with enough validator signatures) and submits the message execution transactions to the MessageBus contract. | ||
|
||
It is necessary to run a [Message Executor] which monitors the Celer SGN for cross-chain messages and then submits the proof on-chain to deliver them to the target contract. | ||
|
||
To set up an executor, you can either follow this [documentation] to set up your own, or fill out this [form][celer-form] for Celer to set up a hosted executor service for you. | ||
|
||
If you are participating in a Hackathon or Grant, [please fill out the relay | ||
request form](https://form.typeform.com/to/RsiUR9Xz) to be allowed to use the | ||
shared Message Executor. | ||
|
||
In most cases, we recommend dApp developers use the shared executor services provided by the Celer Network team so that you do not need to worry about the executor server configuration and operation. | ||
|
||
[Message Executor]: https://im-docs.celer.network/developer/development-guide/message-executor | ||
[documentation]: https://im-docs.celer.network/developer/development-guide/message-executor/integration-guide | ||
[celer-form]:https://form.typeform.com/to/RsiUR9Xz | ||
|
||
## Supported Networks | ||
|
||
### Mainnets | ||
|
||
| Name | Int ID | Hex ID | autoswitch name | | ||
| ---- | ------ | ------ | --------------- | | ||
| Ape | 16350 | 0x3fde | ape | | ||
| Arbitrum Nova | 42170 | 0xa4ba | arbitrum-nova | | ||
| Arbitrum One | 42161 | a4b1 | arbitrum-one | | ||
| Astar | 592 | 0x250 | astar | | ||
| Aurora | 1313161554 | 0x4e454152 | aurora | | ||
| Avalanche | 43114 | 0xa86a | avalanche | | ||
| Binance Smart Chain | 56 | 0x38 | bsc | | ||
| Ethereum | 1 | 0x1 | ethereum | | ||
| Fantom | 250 | 0xfa | fantom | | ||
| Filecoin | 314 | 0x13a | filecoin | | ||
| Milkomeda C1 | 2001 | 0x7d1 | milkomeda | | ||
| Moonriver | 1285 | 0x505 | moonriver | | ||
| Polygon | 137 | 0x89 | polygon | | ||
| Sapphire | 23294 | 0x5afe | sapphire | | ||
| Syscoin | 57 | 0x39 | syscoin | | ||
| Polygon zkEVM | 1101 | 0x44d | polygon-zkevm | | ||
| Optimism | 10 | 0xa | optimism | | ||
| zkSync Era | 324 | 0x144 | zksync-era | | ||
|
||
### Testnets | ||
|
||
| Name | Int ID | Hex ID | autoswitch name | | ||
| ---- | ------ | ------ | --------------- | | ||
| Arbitrum Testnet | 421611 | 0x66eeb | arbitrum-testnet | | ||
| Avalanche C-Chain Fuji Testnet | 43113 | 0xa869 | avalanche-fuji | | ||
| BSC Testnet | 97 | 0x61 | bsc-testnet | | ||
| ConsenSys zkEVM Testnet | 59140 | 0xe704 | zkevm-testnet | | ||
| Dexalot Testnet | 432201 | 0x69849 | dexalot-testnet | | ||
| Fantom Testnet | 4002 | 0xfa2 | fantom-testnet | | ||
| Filecoin Hyperspace Testnet | 3141 | 0xc45 | filecoin-testnet | | ||
| FNCY Testnet | 923018 | 0xe158a | fncy-testnet | | ||
| Godwoken Testnet | 71401 | 0x116e9 | godwoken-testnet | | ||
| Goerli Testnet | 5 | 0x5 | goerli | | ||
| Polygon Mumbai Testnet | 80001 | 0x13881 | polygon-mumbai | | ||
| Polygon zkEVM Testnet | 1442 | 0x5a2 | zkevm-testnet | | ||
| Sapphire Testnet | 23295 | 0x5aff | sapphire-testnet | | ||
| Scroll Alpha Testnet | 534353 | 0x82751 | scroll-testnet | | ||
| Shibuya Testnet | 81 | 0x51 | shibuya-testnet | | ||
|
||
In the following sections we will look at a concrete example on how to build a | ||
confidential, cross-chain DAO-voting dApp from scratch using the Oasis Privacy Layer! | ||
|
||
|
||
|
Oops, something went wrong.