golos-client-rs
8 лет назадПервый релиз опен сорс JSONRPC клиента для Голоса на Rust: golos-client-rs v0.1
На связи @ontofractal. Модуль выпущен под MIT лицензией и опубликован на Github.
Пример использования
golos-client-rs пока нету на crates.io, поэтому в Cargo.toml следует использовать git:
[dependencies]
golos-client = { git = "https://github.com/cyberpunk-ventures/golos-client-rs" }
Основная функция модуля call
принимает следующие аргументы: значение enum, например, GolosApi::DatabaseApi
, метод API, вектор параметров для данного метода и вовзращает serde_json::Value
. Возможные ошибки при выполнении включены в enum GolosError
extern crate golos_client;
use golos_client::*;
let api = golos_client::GolosApi::DatabaseApi;
let api_method = "get_dynamic_global_properties".to_string();
let args = vec![];
let response: Result<serde_json::Value, GolosError> = golos_client::call(api, api_method, args);
response["result"]["head_block_number"].as_u64().unwrap() > 3000000; // true
Дорожная карта
У меня нет значительного опыта работы с Rust, поэтому код, наверняка, непотимален. Пулл реквесты приветствуются.
- Добавить функции для различных методов API
- Внедрить futures
- Внедрить websockets
- Изучить использование jsonrpc-core из Ethereum Parity
- Добавить стракты для ответов API
- Добавить возможность броадкаста транзакций
- Больше тестов и документации