| Qty. | Bid | Ask | Qty. |
|---|---|---|---|
| Trade Price | Trade Qty. |
|---|---|
Order Book
Trade Ledger
| Qty | Bid | Ask | Qty |
|---|---|---|---|
| 3 | 5 | ||
| Trade Price | Trade Qty. |
|---|---|
Bob places a sell order
| Qty | Bid | Ask | Qty |
|---|---|---|---|
| 3 | 3 | 3 | 5 |
| Trade Price | Trade Qty. |
|---|---|
Alice places a buy order
| Trade Price | Trade Qty. |
|---|---|
| 3 | 3 |
| Qty | Bid | Ask | Qty |
|---|---|---|---|
| 3 | 2 | ||
Exchange matches orders and books a trade
| Trade Price | Trade Qty. |
|---|---|
| 3 | 3 |
| Qty | Bid | Ask | Qty |
|---|---|---|---|
| 3 | 2 | ||
| Trade Price | Trade Qty. |
|---|---|
| 4 | 5 |
| 3 | 10 |
| Qty | Bid | Ask | Qty |
|---|---|---|---|
| 5 | 4 | 6 | 15 |
| 10 | 3 | 7 | 10 |
Low-level assembly-like language with near-native performance
Designed to be a compilation target
Universal adoption of the MVP
Leverage existing codebase
Limited performance impact
Painful to interact with directly
High-level operations for streams of data
Similar to Observables but -
const api = await connect({
url,
user,
password
});RONALDS BURGER EMPORIUM
const responses = await api.requestAll('*');
for (const response of responses) {
const { symbol, bid, ask } = response;
await createRecord(symbol, bid, ask);
}Burger By Viktor Ostrovsky, RU
api.requestAll('*', (response) => {
const { symbol, bid, ask } = response;
createRecord(symbol, bid, ask);
});const responses = api.requestAll('*');
for await (const response of responses) {
const { symbol, bid, ask } = response;
await createRecord(symbol, bid, ask);
}
...
Client's CTO
Client's CTO
Anon.