{"id":24852318,"url":"https://github.com/choubacha/stellar-rust-sdk","last_synced_at":"2025-10-14T23:31:02.464Z","repository":{"id":57668639,"uuid":"121577362","full_name":"choubacha/stellar-rust-sdk","owner":"choubacha","description":"A lightweight SDK for the stellar horizon api. Written in rust.","archived":false,"fork":false,"pushed_at":"2018-09-26T17:24:11.000Z","size":407,"stargazers_count":34,"open_issues_count":7,"forks_count":9,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-08-18T02:41:58.536Z","etag":null,"topics":["cli","crates","cryptocurrency","horizon","rust","sdk","stellar","stellar-lumens"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/choubacha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-15T00:30:26.000Z","updated_at":"2025-01-09T19:57:53.000Z","dependencies_parsed_at":"2022-08-27T03:25:07.293Z","dependency_job_id":null,"html_url":"https://github.com/choubacha/stellar-rust-sdk","commit_stats":null,"previous_names":["kbacha/stellar-sdk"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/choubacha/stellar-rust-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choubacha%2Fstellar-rust-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choubacha%2Fstellar-rust-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choubacha%2Fstellar-rust-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choubacha%2Fstellar-rust-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/choubacha","download_url":"https://codeload.github.com/choubacha/stellar-rust-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/choubacha%2Fstellar-rust-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279025387,"owners_count":26087974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","crates","cryptocurrency","horizon","rust","sdk","stellar","stellar-lumens"],"created_at":"2025-01-31T14:49:14.946Z","updated_at":"2025-10-14T23:31:02.134Z","avatar_url":"https://github.com/choubacha.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stellar-rust-sdk\nA lightweight client SDK for the stellar horizon api. Written in rust.\n\n[![Travis](https://img.shields.io/travis/kbacha/stellar-rust-sdk.svg)](https://travis-ci.org/kbacha/stellar-rust-sdk)\n[![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/stellar-rust-sdk)\n[![Crates.io](https://img.shields.io/crates/v/stellar-client.svg)](https://crates.io/crates/stellar-client)\n[![Docs.rs](https://docs.rs/stellar-client/badge.svg)](https://docs.rs/stellar-client/)\n\nThe SDK provides a client and modeled resources to the stellar horizon api. The\nresources are strictly typed and parse directly from the api. It also provides a robust\nCLI for managing and introspecting the network.\n\nThis repository is broken into multiple crates. Each crate is designed to be used\nas a different component. The crates are organized as a virtual workspace so that\nthey can be built together and tested at once.\n\n## Client\n\nThe client provides two interfaces. One is the synchronous client and the other is\nthe asynchronous client. Both consume an IntoRequest trait and will return the appropriate\nresponse associated with the endpoint implementation. You should see the documentation\nassociated with the code itself since there are active doctests available for all endpoints.\nHowever, the general gist is that the developer should create an endpoint and then exchange\nthat endpoint for a response from the client:\n\n```rust\nuse stellar_client::sync::Client;\nuse stellar_client::endpoint::asset;\n\nlet client      = Client::horizon_test().unwrap();\nlet endpoint    = asset::All::default();\nlet records     = client.request(endpoint).unwrap();\n```\n\n### Endpoints\n\nThe endpoints module in the client crate houses all the horizon API endpoint definitions. Each\nstruct will define what parameters are required for making requests.\n\n### Resources\nThe resources module contains the return values of the various endpoints. These resources are\nfully documented and can be deserialized from the client. There are many resources\nin the horizon API and you can read about all of them [here](https://www.stellar.org/developers/horizon/reference/index.html).\n\nThey are deserialized into types that we think will make using them inside other rust applications\neasier.\n\n## CLI\n\nThe CLI is a command line utility for querying against the stellar network. To install it\nclone the repo and run:\n\n```\ncargo install -f --path=cli\n```\n\nYou can then use it with:\n\n```\nstellar --help\n```\n\nThe CLI is most useful for easily perusing horizon/stellar data without needing to construct\ncurl commands. It is also a working example of how the stellar SDK can be consumed and used.\n\n## Testing\n\nSetup is managed through cargo. We develop on stable but you should be up-to-date before\nrunning tests.\n\n```\ncargo test\n```\n\n## Documentation\n\nTo build the documentation locally, just use the doc command:\n\n```\ncargo doc\n```\n\nTo build and automatically open the client documentation:\n\n```\ncargo doc -p stellar-client --open\n```\n\nTo build and automatically open the resource documentation:\n\n```\ncargo doc -p stellar-resources --open\n```\n\n## Contributing\n\nWe welcome contributors! Please see our [contributing](https://github.com/kbacha/stellar-rust-sdk/blob/master/CONTRIBUTING.md) guide for information\non how to contribute to our repo!\n\n## TODO\n\n- [x] Implement all resources\n- [x] Synchronous client\n- [ ] Asynchronous client (waiting stabilization of hyper)\n- [ ] Implement all endpoints to horizon\n- [ ] Implement complete CLI to request data from horizon\n- [ ] Implement informational CLI\n- [ ] Implement XDR resources for stellar\n- [ ] Implement ability to create transactions and submit to network\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchoubacha%2Fstellar-rust-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchoubacha%2Fstellar-rust-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchoubacha%2Fstellar-rust-sdk/lists"}