You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> The Rust SDK for building native Bitcoin dApps on REE(Runes Exchange Environment).
6
+
7
7
Unlike Ethereum and other smart contract platforms, Bitcoin's scripting language is not Turing complete, making it extremely challenging—if not impossible—to develop complex applications like AMM protocols directly on the Bitcoin network using BTC scripts and the UTXO model.
8
8
9
9
REE overcomes this limitation by leveraging the powerful Chain Key technology of the Internet Computer Protocol (ICP) and Bitcoin's Partially Signed Bitcoin Transactions (PSBT) to extend the programmability of Bitcoin's Rune assets.
@@ -20,6 +20,8 @@ REE overcomes this limitation by leveraging the powerful Chain Key technology of
20
20
21
21
## Quick start
22
22
23
+
If you are familier with IC canister development, you could easily create an empty rust crate and paste the code into the `lib.rs`.
24
+
23
25
```rust
24
26
usecandid::{CandidType, Deserialize};
25
27
useic_cdk::{query, update};
@@ -123,14 +125,6 @@ pub mod exchange {
123
125
pubfnnew_pool(args:Metadata) {
124
126
letpool=Pool::new(args.clone());
125
127
DummyPools::insert(pool.clone());
126
-
letloaded=DummyPools::get(&args.address);
127
-
assert_eq!(loaded, Some(pool), "Pool not loaded correctly");
128
-
let (addr, p) =DummyPools::iter().next().unwrap();
assert_eq!(Some(p), loaded, "Pool data mismatch");
131
-
DummyPools::remove(&args.address);
132
-
letloaded=DummyPools::get(&args.address);
133
-
assert!(loaded.is_none(), "Pool not removed correctly");
134
128
}
135
129
136
130
#[query]
@@ -153,7 +147,9 @@ pub mod exchange {
153
147
154
148
## REE exchange client
155
149
156
-
The `invoke` function in the REE Orchestrator serves as the main entry point for the REE protocol. This function takes `InvokeArgs` as a parameter, which includes the following fields:
150
+
To complete an REE transaction, the exchange client should call REE Orchestrator `invoke` rather than making request into exchanges directly.
151
+
152
+
The `invoke` function of Orchestrator takes `InvokeArgs` as a parameter, which includes the following fields:
> The Rust SDK for building native Bitcoin dApps on REE(Runes Exchange Environment).
4
6
5
7
Unlike Ethereum and other smart contract platforms, Bitcoin's scripting language is not Turing complete, making it extremely challenging—if not impossible—to develop complex applications like AMM protocols directly on the Bitcoin network using BTC scripts and the UTXO model.
@@ -18,6 +20,8 @@ REE overcomes this limitation by leveraging the powerful Chain Key technology of
18
20
19
21
## Quick start
20
22
23
+
If you are familier with IC canister development, you could easily create an empty rust crate and paste the code into the `lib.rs`.
24
+
21
25
```rust
22
26
usecandid::{CandidType, Deserialize};
23
27
useic_cdk::{query, update};
@@ -121,14 +125,6 @@ pub mod exchange {
121
125
pubfnnew_pool(args:Metadata) {
122
126
letpool=Pool::new(args.clone());
123
127
DummyPools::insert(pool.clone());
124
-
letloaded=DummyPools::get(&args.address);
125
-
assert_eq!(loaded, Some(pool), "Pool not loaded correctly");
126
-
let (addr, p) =DummyPools::iter().next().unwrap();
assert_eq!(Some(p), loaded, "Pool data mismatch");
129
-
DummyPools::remove(&args.address);
130
-
letloaded=DummyPools::get(&args.address);
131
-
assert!(loaded.is_none(), "Pool not removed correctly");
132
128
}
133
129
134
130
#[query]
@@ -151,7 +147,9 @@ pub mod exchange {
151
147
152
148
## REE exchange client
153
149
154
-
The `invoke` function in the REE Orchestrator serves as the main entry point for the REE protocol. This function takes `InvokeArgs` as a parameter, which includes the following fields:
150
+
To complete an REE transaction, the exchange client should call REE Orchestrator `invoke` rather than making request into exchanges directly.
151
+
152
+
The `invoke` function of Orchestrator takes `InvokeArgs` as a parameter, which includes the following fields:
0 commit comments