Supports SYNC/ASYNC/Websocket-feed data support
Cargo.toml:
toml
[dependencies]
coinbase-pro-rs = "0.2.9"
```rust extern crate hyper; extern crate tokio; extern crate coinbaseprors;
use hyper::rt::Future; use coinbaseprors::{Public, ASync, SANDBOX_URL};
fn main() {
let client: Public
tokio::run(f); // waiting for tokio
} ```
```rust extern crate coinbaseprors;
use coinbaseprors::{Public, Sync, SANDBOX_URL};
fn main() {
let client: Public
```rust extern crate futures; extern crate tokio; extern crate coinbaseprors;
use futures::{Future, Stream}; use coinbaseprors::{WSFeed, WSSANDBOXURL}; use coinbaseprors::structs::wsfeed::*;
fn main() { let stream = WSFeed::new(WSSANDBOXURL, &["BTC-USD"], &[ChannelType::Heartbeat]);
let f = stream
.take(10)
.for_each(|msg| {
match msg {
Message::Heartbeat {sequence, last_trade_id, time, ..} => println!("{}: seq:{} id{}",
time, sequence, last_trade_id),
Message::Error {message} => println!("Error: {}", message),
Message::InternalError(_) => panic!("internal_error"),
other => println!("{:?}", other)
}
Ok(())
});
tokio::run(f.map_err(|_| panic!("stream fail")));
} ```
by request
https://github.com/inv2004/orderbook-rs
cargo test -- --test-threads=1 // to avoid "Rate limit exceeded" error