Blockless-sdk-rust

How to build
-
Install the rust with rustup, please visit the site 'https://rustup.rs/'.
-
Use follow command for build the project.
$ cargo build
HTTP example
use blockless_sdk::*;
use json;
fn main() {
let opts = HttpOptions::new("GET", 30, 10);
let http = BlocklessHttp::open("https://demo.bls.dev/tokens", &opts);
let http = http.unwrap();
let body = http.get_all_body().unwrap();
let body = String::from_utf8(body).unwrap();
let tokens = match json::parse(&body).unwrap() {
json::JsonValue::Object(o) => o,
_ => panic!("must be object"),
};
let tokens = match tokens.get("tokens") {
Some(json::JsonValue::Array(tokens)) => tokens,
_ => panic!("must be array"),
};
tokens.iter().for_each(|s| {
println!("{:?}", s.as_str());
});
}
cargo add blockless-sdk
Examples
Examples are in the examples directory.
cargo build --release --target wasm32-wasip1 --example coingecko_oracle
echo "bitcoin" | runtime target/wasm32-wasip1/release/examples/coingecko_oracle.wasm --permission https://api.coingecko.com/
cargo build --release --target wasm32-wasip1 --example httpbin
~/.bls/runtime/bls-runtime target/wasm32-wasip1/release/examples/httpbin.wasm --permission http://httpbin.org/anything
Examples list
| Example |
Description |
Browser runtime support |
Native runtime support |
| coingecko_oracle |
Coingecko Oracle to query price of bitcoin from coingecko |
✅ |
✅ |
| httpbin |
HTTP to query anything from httpbin |
✅ |
✅ |
| llm |
LLM to chat with Llama-3.1-8B-Instruct-q4f32_1-MLC and SmolLM2-1.7B-Instruct-q4f16_1-MLC models |
✅ |
❌ |