Skip to content

Go support for Liquid/Elements transactions

License

Notifications You must be signed in to change notification settings

michael1011/go-elements

This branch is 2 commits behind vulpemventures/go-elements:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8e1c8ef Β· Jun 3, 2024
Jun 15, 2022
Dec 13, 2022
Dec 13, 2022
Jun 3, 2024
Jan 30, 2023
Dec 13, 2022
Sep 16, 2022
Sep 16, 2022
Dec 14, 2023
Dec 13, 2022
Feb 10, 2023
Dec 13, 2022
Jun 3, 2024
Jan 30, 2024
Jun 15, 2022
Dec 14, 2023
Dec 13, 2022
Nov 30, 2021
Apr 24, 2020
Nov 30, 2021
Sep 16, 2022
Dec 13, 2022
Jan 12, 2021
Jun 3, 2024
Jun 3, 2024

Repository files navigation

go-elements

Go PkgGoDev Release Go Report Card Bitcoin Donate

Go support for confidential transactions on Elements-based blockchains

The package is currently being developed. For stable versions, you must refer to the latest release

Install

# Install latest tagged release
$ go get github.com/vulpemventures/go-elements@latest

πŸ‘€ Examples

πŸ›£ Roadmap

  • Chain parameters (prefixes, magic numbers, …)
  • Pay to Public Key Hash
  • Pay to Script Hash
  • Pay to Witness Public Key Hash
  • Pay to Witness Script Hash
  • Tx serialization / deserialization
    • Use of confidential values instead of pure numbers
    • Fix order of witness in transaction serialization
    • Add confidential fields
    • Serialization for (witness) signature
  • PSET / Bip174 for Elements
  • Blech32
  • CGO bindings for secp256k1-zkp
  • Unblinding ins / Blinding outs / Blinding issuance ins
  • Signing a confidential input (use 0 value amounts to produce the hash for the signature)
  • Asset issuance
  • Asset re-issuance
  • Slip77
  • Upcoming PSET spec support

πŸ–₯ Development

  • Clone repository:
$ git clone https://github.com/vulpemventures/go-elements.git
  • Enter into the project folder and install dependencies:
$ cd go-elements
$ go get -t -v ./...
  • Run tests

For running tests it is required to have a running Nigiri locally, or at least a remote one reachable from the outside.
To run the tests it is mandatory to export an API_URL environment variable pointing to the URL of nigiri-chopsticks.

$ nigiri start --liquid
$ make test
  • More detailed documentation
$ godoc -http ":8080"

http://localhost:8080/pkg/github.com/vulpemventures/go-elements/

πŸ‘·β€β™‚οΈ Contributors

License MIT

About

Go support for Liquid/Elements transactions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%