{"id":13425603,"url":"https://github.com/manuelmauro/algonaut","last_synced_at":"2025-04-05T18:10:26.749Z","repository":{"id":40316723,"uuid":"352091412","full_name":"manuelmauro/algonaut","owner":"manuelmauro","description":"A rusty sdk for Algorand.","archived":false,"fork":false,"pushed_at":"2024-07-29T10:43:15.000Z","size":1053,"stargazers_count":64,"open_issues_count":28,"forks_count":37,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-30T06:14:34.045Z","etag":null,"topics":["algorand","blockchain","crypto","nft","rust","wasm"],"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/manuelmauro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-27T14:19:13.000Z","updated_at":"2024-07-29T10:43:19.000Z","dependencies_parsed_at":"2024-01-03T05:16:48.153Z","dependency_job_id":"f83d6054-2eea-45ed-bd1b-f79c73feba2d","html_url":"https://github.com/manuelmauro/algonaut","commit_stats":{"total_commits":428,"total_committers":16,"mean_commits":26.75,"dds":"0.46962616822429903","last_synced_commit":"c58d109f0e8ce93a91879499e16d364a11462a19"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelmauro%2Falgonaut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelmauro%2Falgonaut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelmauro%2Falgonaut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manuelmauro%2Falgonaut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manuelmauro","download_url":"https://codeload.github.com/manuelmauro/algonaut/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378149,"owners_count":20929297,"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","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":["algorand","blockchain","crypto","nft","rust","wasm"],"created_at":"2024-07-31T00:01:15.418Z","updated_at":"2025-04-05T18:10:26.725Z","avatar_url":"https://github.com/manuelmauro.png","language":"Rust","funding_links":[],"categories":["Development \u0026 Tools","Development Tools"],"sub_categories":["Language SDKs \u0026 Tools","Languages"],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets/rocket-solid.png\" width=\"128\" height=\"128\"\u003e\n\u003c/p\u003e\n\n# Rust `algonaut`\n\n[![Crate](https://img.shields.io/crates/v/algonaut.svg)](https://crates.io/crates/algonaut)\n[![Docs](https://docs.rs/algonaut/badge.svg)](https://docs.rs/algonaut)\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://github.com/manuelmauro/algonaut/blob/main/LICENSE)\n![GitHubCI](https://github.com/manuelmauro/algonaut/actions/workflows/quickstart.yml/badge.svg)\n[![CircleCI](https://dl.circleci.com/status-badge/img/gh/manuelmauro/algonaut/tree/main.svg?style=shield)](https://dl.circleci.com/status-badge/redirect/gh/manuelmauro/algonaut/tree/main)\n\nRust **algonaut** is a rusty SDK for [Algorand](https://www.algorand.com/). Please, be aware that this crate is a work in progress.\n\n```rust\nuse algonaut::algod::v2::Algod;\nuse algonaut_core::MicroAlgos;\nuse algonaut_transaction::Pay;\nuse algonaut_transaction::{account::Account, TxnBuilder};\nuse std::error::Error;\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), Box\u003cdyn Error\u003e\u003e {\n    let algod = Algod::new(\n        \"http://localhost:4001\",\n        \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n    )?;\n\n    // an account with some funds\n    let from_account = Account::from_mnemonic(\"fire enlist diesel stamp nuclear chunk student stumble call snow flock brush example slab guide choice option recall south kangaroo hundred matrix school above zero\")?;\n\n    let to_address = \"2FMLYJHYQWRHMFKRHKTKX5UNB5DGO65U57O3YVLWUJWKRE4YYJYC2CWWBY\".parse()?;\n\n    // algod has a convenient method that retrieves basic information for a transaction\n    let params = algod.suggested_transaction_params().await?;\n\n    // we are ready to build the transaction\n    let t = TxnBuilder::with(\n        \u0026params,\n        Pay::new(from_account.address(), to_address, MicroAlgos(123_456)).build(),\n    )\n    .build()?;\n\n    // we need to sign the transaction to prove that we own the sender address\n    let signed_t = from_account.sign_transaction(t)?;\n\n    // broadcast the transaction to the network\n    let send_response = algod.broadcast_signed_transaction(\u0026signed_t).await?;\n\n    println!(\"Transaction ID: {}\", send_response.tx_id);\n\n    Ok(())\n}\n```\n\n## Crates\n\n- `algonaut_client` contains clients for `algod`, `kmd`, and `indexer` RPC APIs.\n- `algonaut_core` defines core structures for Algorand like: `Address`, `Round`, `MicroAlgos`, etc.\n- `algonaut_crypto` contains crypto utilities such as: `ed25519` and `mnemonics`.\n- `algonaut_encoding` implements encoding utility functions such as `serde` visitors.\n- `algonaut_transaction` support developers in building all kinds of Algorand transactions.\n- `algonaut_abi` Application Binary Interface (ABI) to invoke smart contract methods with a standarized interface.\n\n## Running the examples\n\nThe `/examples` contains a wide set of examples that can help you getting started with `algonaut`. You can run them like this:\n\n```bash\ncargo run --example quickstart\n```\n\nIf your environment variables are not properly set, you will read the message `Error: NotPresent`. If this is the case, just run:\n\n```bash\ncp examples.env .env\n```\n\n## External utilities\n\n- [tealdbg_launcher](https://github.com/ivanschuetz/tealdbg_launcher) Start TEAL debugging sessions from Rust.\n\n## Integration examples\n\n- [React Js / WalletConnect / My Algo signing / WASM / atomic swaps](https://github.com/ivanschuetz/swaplink)\n- [Basic React JS / WASM](https://github.com/ivanschuetz/algonaut-react)\n- [My Algo signing with Yew / WASM](https://github.com/i-schuetz/algonaut-myalgo-yew-template)\n- [Payment prompt with Yew / WASM](https://github.com/i-schuetz/algo-prompt)\n- [Basic Yew / WASM](https://github.com/i-schuetz/algorand-yew-example)\n- [iOS app](https://github.com/i-schuetz/algonaut_ios)\n\n## Changelog\n\nRead the [changelog](./CHANGELOG.md) for more details.\n\n## Contribute\n\nDo you want to help with the development? Please find out how by reading our [contributions guidelines](https://github.com/manuelmauro/algonaut/blob/main/CONTRIBUTING.md).\n\n## Acknowledgements\n\nThis crate is based on the work of [@mraof](https://github.com/mraof/rust-algorand-sdk).\n\n## License\n\n[![Ferris Algonaut](assets/ferris-algonaut.svg)](https://crates.io/crates/algonaut)\n\nLicensed under MIT license.\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, shall be licensed as above, without any additional terms or conditions.\n\n[Ferris Algonaut](assets/ferris-algonaut.svg) is licensed under a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).  \n[Rust `algonaut`'s logo](assets/rocket-solid.svg) is based on [Font Awesome](https://fontawesome.com/v5.15/icons/rocket)'s icon and licensed under a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanuelmauro%2Falgonaut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanuelmauro%2Falgonaut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanuelmauro%2Falgonaut/lists"}