{"id":13850263,"url":"https://github.com/vulpemventures/go-elements","last_synced_at":"2025-06-30T20:07:31.253Z","repository":{"id":37859386,"uuid":"258553244","full_name":"vulpemventures/go-elements","owner":"vulpemventures","description":"Go support for Liquid/Elements transactions ","archived":false,"fork":false,"pushed_at":"2025-03-06T16:28:53.000Z","size":1095,"stargazers_count":31,"open_issues_count":8,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-30T15:57:01.116Z","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/vulpemventures.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}},"created_at":"2020-04-24T15:37:31.000Z","updated_at":"2025-04-05T17:10:27.000Z","dependencies_parsed_at":"2023-10-11T13:35:43.104Z","dependency_job_id":"b6476eb9-1103-4b65-ab91-b413db93f4f6","html_url":"https://github.com/vulpemventures/go-elements","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/vulpemventures/go-elements","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulpemventures%2Fgo-elements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulpemventures%2Fgo-elements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulpemventures%2Fgo-elements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulpemventures%2Fgo-elements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vulpemventures","download_url":"https://codeload.github.com/vulpemventures/go-elements/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulpemventures%2Fgo-elements/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262842920,"owners_count":23373167,"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":[],"created_at":"2024-08-04T20:01:02.276Z","updated_at":"2025-06-30T20:07:31.163Z","avatar_url":"https://github.com/vulpemventures.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cimg width=\"256\" src=\"go-elements-gopher.png\"\u003e\n\u003c/div\u003e\n\n# go-elements\n\n[![Go](https://github.com/vulpemventures/go-elements/actions/workflows/ci.yml/badge.svg)](https://github.com/vulpemventures/go-elements/actions/workflows/ci.yml)\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/vulpemventures/go-elements)](https://pkg.go.dev/github.com/vulpemventures/go-elements)\n[![Release](https://img.shields.io/github/release/vulpemventures/go-elements.svg?style=flat-square)](https://github.com/vulpemventures/go-elements/releases/latest)\n[![Go Report Card](https://goreportcard.com/badge/github.com/vulpemventures/go-elements)](https://goreportcard.com/report/github.com/vulpemventures/go-elements)\n[![Bitcoin Donate](https://badgen.net/badge/Bitcoin/Donate/F7931A?icon=bitcoin)](https://blockstream.info/address/3MdERN32qiMnQ68bSSee5CXQkrSGx1iStr)\n\n\nGo support for confidential transactions on Elements-based blockchains\n\n**The package is currently being developed.** For stable versions, you must refer to the [latest release](https://github.com/vulpemventures/go-elements/releases)\n\n## Install\n\n```sh\n# Install latest tagged release\n$ go get github.com/vulpemventures/go-elements@latest\n```\n\n## 👀 Examples\n\n- [Broadcast unblinded transaction](pset/pset_test.go#L82)\n- [Broadcast blinded transaction - with unblinded input](pset/pset_test.go#L335)\n- [Broadcast blinded transaction - with blinded input](pset/pset_test.go#L490)\n- [Broadcast issuance transaction - with unblinded inputs, unblinded issuance, blinded outputs](pset/pset_test.go#L689)\n- [Broadcast issuance transaction - with unblinded inputs, blinded issuance, blinded outputs](pset/pset_test.go#L867)\n\n## 🛣 Roadmap\n\n- [x] Chain parameters (prefixes, magic numbers, …)\n- [x] Pay to Public Key Hash\n- [x] Pay to Script Hash\n- [x] Pay to Witness Public Key Hash\n- [x] Pay to Witness Script Hash\n- [x] Tx serialization / deserialization\n  - [x] Use of confidential values instead of pure numbers\n  - [x] Fix order of witness in transaction serialization\n  - [x] Add confidential fields\n  - [x] Serialization for (witness) signature\n- [x] [PSET / Bip174 for Elements](https://github.com/vulpemventures/go-elements/tree/master/pset)\n- [x] [Blech32](https://github.com/vulpemventures/go-elements/tree/master/blech32)\n- [x] [CGO bindings for secp256k1-zkp](https://github.com/vulpemventures/go-secp256k1-zkp)\n- [x] Unblinding ins / Blinding outs / Blinding issuance ins\n- [x] Signing a confidential input (use 0 value amounts to produce the hash for the signature)\n- [x] Asset issuance\n- [x] Asset re-issuance\n- [x] Slip77\n- [ ] Upcoming [PSET spec](https://github.com/ElementsProject/elements/pull/951) support\n\n## 🖥 Development\n\n* Clone repository:\n\n```sh\n$ git clone https://github.com/vulpemventures/go-elements.git\n```\n\n* Enter into the project folder and install dependencies:\n\n```sh\n$ cd go-elements\n$ go get -t -v ./...\n```\n\n* Run tests\n\n\u003e For running tests it is required to have a running [Nigiri](https://github.com/vulpemventures/nigiri) locally, or at least a remote one reachable from the outside.  \n To run the tests it is mandatory to export an `API_URL` environment variable pointing to the URL of `nigiri-chopsticks`.\n\n```\n$ nigiri start --liquid\n$ make test\n```\n\n* More detailed documentation\n\n```\n$ godoc -http \":8080\"\n```\n\n\u003e http://localhost:8080/pkg/github.com/vulpemventures/go-elements/\n\n## 👷‍♂️ Contributors\n\n- [@tiero](https://github.com/tiero)\n- [@altafan](https://github.com/altafan)\n- [@sekulicd](https://github.com/sekulicd)\n- [@francismars](https://github.com/francismars)\n\n## License [MIT](https://github.com/vulpemventures/go-elements/blob/master/LICENSE)\n","funding_links":[],"categories":["Development Tools","Go"],"sub_categories":["Libraries"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulpemventures%2Fgo-elements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvulpemventures%2Fgo-elements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulpemventures%2Fgo-elements/lists"}