{"id":13734450,"url":"https://github.com/SaitoTech/saito-rust","last_synced_at":"2025-05-08T10:31:53.447Z","repository":{"id":38329859,"uuid":"362366968","full_name":"SaitoTech/saito-rust","owner":"SaitoTech","description":"A high-performance (reference) implementation of Saito in Rust","archived":false,"fork":false,"pushed_at":"2023-03-06T20:12:04.000Z","size":19584,"stargazers_count":42,"open_issues_count":17,"forks_count":10,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-10-29T20:56:35.348Z","etag":null,"topics":["blockchain","cargo","saito","saito-consensus","saito-rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SaitoTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-04-28T06:50:05.000Z","updated_at":"2024-07-25T19:22:46.000Z","dependencies_parsed_at":"2024-06-23T04:30:46.450Z","dependency_job_id":null,"html_url":"https://github.com/SaitoTech/saito-rust","commit_stats":{"total_commits":535,"total_committers":13,"mean_commits":41.15384615384615,"dds":0.4579439252336449,"last_synced_commit":"0e997fc285f7f274bda5ccdec3c094676bb16b52"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaitoTech%2Fsaito-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaitoTech%2Fsaito-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaitoTech%2Fsaito-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaitoTech%2Fsaito-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SaitoTech","download_url":"https://codeload.github.com/SaitoTech/saito-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224720958,"owners_count":17358485,"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":["blockchain","cargo","saito","saito-consensus","saito-rust"],"created_at":"2024-08-03T03:00:55.955Z","updated_at":"2024-11-15T02:32:42.530Z","avatar_url":"https://github.com/SaitoTech.png","language":"Rust","funding_links":[],"categories":["Development"],"sub_categories":[],"readme":"# saito-rust\n\nA high-performance implementation of Saito in Rust.\n\nThis project will serve as the reference implementation for other code-bases. It will also be a flexible implementation which can be easily extended to support various testnet implementations which we envision For example, we may use different epoch times or different sources of randomness for the Golden Ticket \"Lottery Game\" instead of sha256 difficult hashes(e.g. PoS or even 3rd party sources like BTC block hashes).\n\n## Contributing\n\nWe're happy for any contribution.  \nPlease have a look at our [contributing guidelines](CONTRIBUTING.md) before you start.\n\n## Documentation\n\n- https://saitotech.github.io/saito-rust/saito_rust/index.html\n- [Architecture doc](ARCHITECTURE.md)\n\n### Deps\n\n- (If on OSX: `xcode-select --install`)\n- [Install Rust](https://www.rust-lang.org/tools/install)\n\n### Run the node\n\n```\nRUST_LOG=debug cargo run\n```\n\nPossible log levels are Error, Warn, Info, Debug, Trace.\n\n### Tests\n\n```\nscripts/test.sh\n```\n\nor\n\n```\ncargo test\n```\n\n### Code formatting\n\n```\ncargo fmt\n```\n\nFormat code according to the [Rust style Guide](https://github.com/rust-dev-tools/fmt-rfcs/blob/master/guide/guide.md).\n\n### Code linting\n\n```\ncargo clippy\n```\n\n[Clippy](https://github.com/rust-lang/rust-clippy) is a collection of lints to catch common mistakes and improve your Rust code.\n\n### Benchmarks\n\n```\ncargo bench\n```\n\n### Github Actions\n\nGH Actions are located here: [.github/workflows](.github/workflows)\n\n- cargo docs  \n  Is creating and deploying the docs to GH pages\n\n- [rustfmt](https://github.com/rust-lang/rustfmt#checking-style-on-a-ci-server) (**required**)  \n  Is checking if the code is formatted according to rust style guidelines\n\n- cargo build \u0026 test  \n  Tries to build the code and run all tests\n\n- [Convco](https://convco.github.io/check/) commit format check (**required**)  \n  Check all commits or range for errors against [the convention](CONTRIBUTING.md#commit-format)\n\n- [Clippy](https://github.com/rust-lang/rust-clippy) code linting  \n  A collection of lints to catch common mistakes and improve your Rust code\n\n### VSCode\n\nExtensions:\n\n- https://github.com/rust-lang/vscode-rust\n\n## Create release\n\n```\ncargo build --release\n```\n\n## Further steps\n\nPublish certain rust functionalities (as bin) as a npm package\n\n- https://blog.woubuc.be/post/publishing-rust-binary-on-npm\n- https://github.com/EverlastingBugstopper/binary-install\n\n## TODO\nCasual list of suggestions on improvements:\n\n[] routing hops currently contain two publickeys and one signature. we can remove \"from\" because it is contextually available (from the sender of the first transaction, and then the *to* field. We should also be able to reduce the signatures by switching to a different/commutive signature. This would magnificently remove the size of our transactions and shrink blocksize as well.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSaitoTech%2Fsaito-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSaitoTech%2Fsaito-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSaitoTech%2Fsaito-rust/lists"}