Thanks for considering a contribution to Xpring SDK!
We're thrilled you're interested and your help is greatly appreciated. Contributing is a great way to learn about the XRP Ledger and Interledger Protocol (ILP). We are happy to review your pull requests. To make the process as smooth as possible, please read this document and follow the stated guidelines.
Xpring-JS is a JavaScript library that is shipped as a consumable artifact in NPM.
This library relies depends on both:
- Xpring Common JS: Common code shared across Xpring SDK in JavaScript.
- Xpring Common Protocol Buffers: Common protocol buffers shared across Xpring SDK.
Before being considered for review or merging, each pull request must:
- Pass continuous integration tests.
- Update documentation for any new features.
- Be free of lint errors. Please run
eslint
before sending a pull request. - Be marked as drafts until they are ready for review.
- Adhere to the code of conduct for this repository.
A JDK installation (https://www.oracle.com/java/technologies/javase-jdk11-downloads.html).
The library should build and pass all tests.
# Clone repository
$ git clone https://github.com/xpring-eng/xpring-js.git
$ cd xpring-js
# Pull Submodules
$ git submodule update --init --recursive
# Install dependencies
$ npm i
# Install gRPC Web
## OSX, for web and node
$ curl -L https://github.com/grpc/grpc-web/releases/download/1.0.7/protoc-gen-grpc-web-1.0.7-darwin-x86_64 --output protoc-gen-grpc-web
$ sudo mv protoc-gen-grpc-web /usr/local/bin/
$ chmod +x /usr/local/bin/protoc-gen-grpc-web
$ curl -L https://github.com/grpc/grpc-node/releases/download/1.0.7/protoc-gen-grpc-node-1.0.7-darwin-x86_64 --output protoc-gen-grpc-node
$ sudo mv protoc-gen-grpc-node /usr/local/bin/
$ chmod +x /usr/local/bin/protoc-gen-grpc-node
### Alternatively use Homebrew:
$ brew install protobuf
## Linux, for web and node
$ curl -L https://github.com/grpc/grpc-web/releases/download/1.0.7/protoc-gen-grpc-web-1.0.7-linux-x86_64 --output protoc-gen-grpc-web
$ sudo mv protoc-gen-grpc-web /usr/local/bin/
$ chmod +x /usr/local/bin/protoc-gen-grpc-web
$ curl -L https://github.com/grpc/grpc-node/releases/download/1.0.7/protoc-gen-grpc-node-1.0.7-darwin-x86_64 --output protoc-gen-grpc-node
$ sudo mv protoc-gen-grpc-node /usr/local/bin/
$ chmod +x /usr/local/bin/protoc-gen-grpc-nod
# Run tests.
$ npm test