{"id":47916024,"url":"https://github.com/karpeleslab/zanolib","last_synced_at":"2026-05-15T16:02:02.753Z","repository":{"id":280217090,"uuid":"941323673","full_name":"KarpelesLab/zanolib","owner":"KarpelesLab","description":"Zano offline transaction signature in Go","archived":false,"fork":false,"pushed_at":"2026-03-24T14:21:02.000Z","size":653,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-04T05:39:29.575Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/KarpelesLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-02T02:35:56.000Z","updated_at":"2026-03-24T14:21:29.000Z","dependencies_parsed_at":"2025-03-02T03:29:24.971Z","dependency_job_id":"5eb3237c-a315-4f00-8785-1cfd9df637af","html_url":"https://github.com/KarpelesLab/zanolib","commit_stats":null,"previous_names":["modchain/zanolib","karpeleslab/zanolib"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/KarpelesLab/zanolib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fzanolib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fzanolib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fzanolib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fzanolib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KarpelesLab","download_url":"https://codeload.github.com/KarpelesLab/zanolib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarpelesLab%2Fzanolib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33071582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-04-04T05:37:21.325Z","updated_at":"2026-05-15T16:02:02.748Z","avatar_url":"https://github.com/KarpelesLab.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GoDoc](https://godoc.org/github.com/KarpelesLab/zanolib?status.svg)](https://godoc.org/github.com/KarpelesLab/zanolib)\n[![Go Report Card](https://goreportcard.com/badge/github.com/KarpelesLab/zanolib)](https://goreportcard.com/report/github.com/KarpelesLab/zanolib)\n[![Tests](https://github.com/KarpelesLab/zanolib/actions/workflows/test.yml/badge.svg)](https://github.com/KarpelesLab/zanolib/actions/workflows/test.yml)\n\n# zanolib\n\nGo library for [Zano](https://zano.org/) cryptocurrency operations, including address parsing, offline transaction signing, and zero-knowledge proof generation.\n\n## Features\n\n- **Address handling** — parse, create, and manipulate Zano addresses (standard, integrated, auditable)\n- **Offline transaction signing** — sign transactions generated by a view-only simplewallet without exposing the spend key to the network\n- **Cryptographic primitives** — CLSAG-GGX ring signatures, Bulletproof+ range proofs, BGE asset surjection proofs, balance proofs\n- **Serialization** — full EPEE binary serialization compatible with Zano's C++ implementation\n\n## Install\n\n```\ngo get github.com/KarpelesLab/zanolib\n```\n\n## Offline Signatures\n\nCompatible Zano version: **2.1.0.382**\n\nThis library allows loading unsigned transactions produced by a view-only simplewallet and signing them offline. There are a few caveats:\n\n- The unsigned transaction is a binary format **not** meant to be portable — it only works between specific versions of Zano. This library is tested against the version above and may not work with newer versions. Blob files aren't versioned so structure changes cannot be detected automatically.\n- For now this library only supports ZC→ZC transactions.\n\n### Usage\n\n```go\nimport (\n\t\"crypto/rand\"\n\t\"os\"\n\n\t\"github.com/KarpelesLab/zanolib\"\n)\n\n// Initialize a wallet from a securely stored spend secret.\n// Set flags to 1 for auditable wallets.\nwallet, err := zanolib.LoadSpendSecret(secret, 0)\nif err != nil {\n\t// handle error\n}\n\n// Parse the unsigned transaction produced by simplewallet.\nftp, err := wallet.ParseFTP(unsignedTxBlob)\nif err != nil {\n\t// handle error\n}\n\n// Inspect ftp to verify this is the transaction you want to sign.\n// ...\n\n// Sign the transaction.\nfinalized, err := wallet.Sign(rand.Reader, ftp, nil)\nif err != nil {\n\t// handle error\n}\n\n// Encrypt and write to disk for broadcast via the view-only wallet.\nsigned, err := wallet.Encrypt(finalized)\nif err != nil {\n\t// handle error\n}\nos.WriteFile(\"zano_tx_signed\", signed, 0600)\n```\n\n## License\n\nSee [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarpeleslab%2Fzanolib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarpeleslab%2Fzanolib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarpeleslab%2Fzanolib/lists"}