{"id":28927939,"url":"https://github.com/irulast/chia_crypto_utils","last_synced_at":"2026-01-11T04:52:33.439Z","repository":{"id":37955562,"uuid":"461321941","full_name":"irulast/chia_crypto_utils","owner":"irulast","description":"Cryptographic utilities in Dart for the Chia blockchain with a functional object model for manipulating Chia primitive types.","archived":false,"fork":false,"pushed_at":"2025-04-28T22:09:01.000Z","size":1957,"stargazers_count":66,"open_issues_count":0,"forks_count":16,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-28T22:48:03.351Z","etag":null,"topics":["bip39","chia","chia-blockchain","chia-network","chialisp","cryptocurrency","cryptography","dart"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"arborwallet/chia-crypto-utils","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irulast.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2022-02-19T21:52:07.000Z","updated_at":"2025-04-28T22:09:04.000Z","dependencies_parsed_at":"2023-02-13T22:50:24.838Z","dependency_job_id":"ab319607-270c-4325-aaa1-8ef114ec19e1","html_url":"https://github.com/irulast/chia_crypto_utils","commit_stats":null,"previous_names":["irulast/chia-crypto-utils"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/irulast/chia_crypto_utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irulast%2Fchia_crypto_utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irulast%2Fchia_crypto_utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irulast%2Fchia_crypto_utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irulast%2Fchia_crypto_utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irulast","download_url":"https://codeload.github.com/irulast/chia_crypto_utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irulast%2Fchia_crypto_utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261304266,"owners_count":23138301,"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":["bip39","chia","chia-blockchain","chia-network","chialisp","cryptocurrency","cryptography","dart"],"created_at":"2025-06-22T14:11:18.036Z","updated_at":"2026-01-11T04:52:33.427Z","avatar_url":"https://github.com/irulast.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chia Crypto Utils\n\nAn SDK for interacting with Chia primitives serving as a basis for a Chia client.\n\n- Generating hardened and unhardened keys from a 24 word mnemonic seed\n- Standard transaction (XCH) coin spend\n- CAT\n- PlotNFT\n- NFT\n- Offer\n- Integration tests using the Chia simulator\n- Serialization and deserialization to and from Bytes for easy integration into secure storage\n- Atomic swap between Chia and Bitcoin\n\n## Dependencies\n\nThis repository is written in [Dart](https://dart.dev/get-dart) to enable mobile and web usage. You may install either the Dart SDK or the [Flutter SDK](https://docs.flutter.dev/get-started/install), which also includes Dart. \n\n## Build and Test\n\n```console\ndart test\n```\n\n```console\n00:00 +0: test/wallet_service_test.dart: (suite)\n  Skip: Integration test\n00:08 +223 ~1: test/utils_test/utils_test.dart: should generate correct puzzle hashes from mnemonic\nFingerprint: 3109357790\nMaster public key (m): 901acd53bf61a63120f15442baf0f2a656267b08ba42c511b9bb543e31c32a9b49a0e0aa5e897bc81878d703fcd889f3\nFarmer public key (m/12381/8444/0/0): 8351d5afd1ab40bf37565d25600c9b147dcda344e19d413b2c468316d1efd312f61a1eca02a74f8d5f0d6e79911c23ca\nPool public key (m/12381/8444/1/0): 926c9b71f4cfc3f8a595fc77d7edc509e2f426704489eaba6f86728bc391c628c402e00190ba3617931649d8c53b5520\nFirst wallet address: txch1v8vergyvwugwv0tmxwnmeecuxh3tat5jaskkunnn79zjz0muds0qlg2szv\n01:02 +896 ~1: All tests passed!\n```\n\nFor integration tests, execute the following script:\n\n```console\nbash ./integration_test/run_tests.sh\n```\n\n```console\n00:28 +6: integration_test/network/mainnet_test.dart(suite)\n  Skip: Test provided for reference, not nominally run\n00:28 +6 ~1: integration_test/network/testnet10_test.dart: (suite)\n  Skip: Test provided for reference, not nominally run\n00:47 +14 ~2: All tests passed!\n```\n\nTo run integration tests from VS Code UI, add the following json file to chia-crypto-utils root\n    \nsimulator_gen_path.json\n```json\n{\n    \"path\":\"absolute_path_to_simulator_gen_folder\"\n}\n```\n\n## Example\n```dart\n // Initialize keychain\nconst mnemonic = 'abandon broom kind...';\n\nfinal keychainSecret = KeychainCoreSecret.fromMnemonicString(mnemonic);\n\nfinal keychain = WalletKeychain.fromCoreSecret(\n  keychainSecret,\n  walletSize: 50,\n);\n\n// Initialize full node\nfinal certBytes = File('CERT_PATH').readAsBytesSync();\nfinal keyBytes = File('KEY_PATH').readAsBytesSync();\n\nfinal fullNode = ChiaFullNodeInterface.fromURL(\n  'FULL_NODE_URL',\n  certBytes: Bytes(certBytes),\n  keyBytes: Bytes(keyBytes),\n);\n\nfinal wallet = ColdWallet(\n  fullNode: fullNode,\n  keychain: keychain,\n);\n\nawait wallet.sendXch(\n  Address('RECEIVER_ADDRESS').toPuzzlehash(),\n  amount: 1000000000,\n);\n```\n\n## Coverage \n\n### Dependencies\n\nInstall [Flutter](https://docs.flutter.dev/get-started/install) and add the flutter tool to your path.\n\n[LCOV](https://ltp.sourceforge.net/coverage/lcov.php) is used to create a coverage report in HTML format.\n\n### Generate Coverage Report\n\nRun tests\n```console\nbash ./integration_test/run_tests.sh\nflutter test test --coverage --coverage-path=coverage/test.info\n```\n\nMerge coverage files\n```console\nlcov --add-tracefile coverage/test.info --add-tracefile coverage/integration_test.info --output-file coverage/merged_coverage.info\n```\n\nGenerate coverage report\n```console\ngenhtml coverage/merged_coverage.info -o coverage\n```\n\nView the coverage report\n```console\nopen coverage/index.html\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firulast%2Fchia_crypto_utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firulast%2Fchia_crypto_utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firulast%2Fchia_crypto_utils/lists"}