libgrin is a golang Grin library for building Grin applications. Currently, it contains the basic consensus parameters, chain, slate structures and proof of work verification code.
The client
package contains wrappers around the Grin node foreign/owner API and the wallet foreign/owner API using libgrin.
Go 1.14 or newer.
-
Install Go according to the installation instructions here.
-
Run the following commands to obtain libgrin, all dependencies, and build it:
cd $GOPATH/src/github.com/blockcypher/libgrin
go get ./...
go build ./...
- libgrin (and utilities) is now built and can be used in your program.
The integrated github issue tracker is used for this project.
Any contribution is more than welcome. Currently libgrin has:
- Minimal API types.
- Minimal Core package which includes PoW verification.
- Client package containing wrappers around Node API (Foreign and Owner) and wallet API (Foreign and Owner).
- Minimal keychain types
- Minimal libwallet
- Minimal p2p types
- Minimal pool types
Missing parts:
- Complete wallet
- Complete keychain
- All the rest
This project tries to follow as much as possible the official Grin node code structure and Grin-Wallet code structure.
libgrin is licensed under the Apache 2.0 license.