Code Monkey home page Code Monkey logo

go-elements's Introduction

go-elements

Build Status 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

๐Ÿ–ฅ 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
$ export API_URL=http://localhost:3001
$ go test ./... -v
  • More detailed documentation
$ godoc -http ":8080"

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

๐Ÿ‘ทโ€โ™‚๏ธ Contributors

License MIT

go-elements's People

Contributors

sekulicd avatar altafan avatar tiero avatar francismars avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.