centrifuge

package module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 18, 2022 License: MIT Imports: 0 Imported by: 0

README

Centrifuge P2P node

Tests GoDoc Reference codecov Go Report Card

go-centrifuge is the go implementation of the Centrifuge P2P protocol. It connects to other nodes via libp2p2 and uses Centrifuge Chain for on-chain interactions.

Getting help: Head over to our documentation at docs.centrifuge.io to learn how to setup a node and interact with it. If you have any questions, feel free to join our discord

Pre-requisites

Fetch dependencies

To fetch the dependencies, run make install-deps.

Install Node

To install, run make install will compile project to binary centrifuge and be placed under GOBIN.

Ensure GOBIN is under PATH to call the binary globally.

Running tests

There 4 different flavours of tests in the project

  • Unit tests(unit)
  • Command-line tests(cmd)
  • Integration tests(integration)
  • Environment tests(testworld): spins up multiple go-centrifuge nodes and local ethereum and centrifuge chains

To run all the test flavours: make run-tests

To run specific test flavour: test=unit make run-tests

To force ethereum smart contracts to be deployed again: FORCE_MIGRATE='true' test=cmd make run-tests

Note: unit tests doesn't require any smart contract deployments and when run with only unit flavour, smart contracts are not deployed.

Deploying locally

If you like to deploy all the dependencies including node, please follow below steps

Spin-up local environment:

To spin-up local environment, run make start-local-env This command will

  • Start Centrifuge chain, Geth node, and bridge using docker.
  • Deploy necessary contracts on geth node. The contracts can be found under localAddresses on the root folder.
Create config file and Start centrifuge node locally:

To start centrifuge node locally, follow the steps below:

  • Start the local test environment
  • Run make start-local-node
    • This will start a local centrifuge node and create a config if not present already
    • The default config file will be placed under ~/centrifuge/testing.
    • If you like to recreate config, then run recreate_config=true make start-local-node
Spin-down local environment:

To spin-down local environment, run make stop-local-env This command will stop Centrifuge chain node, Geth node, and bridge if running.

API definitions

Node APIs are published to swagger hub. For the latest APIs, please see here: APIs

Documentation

Overview

Package centrifuge is the root package for go-centrifuge. Currently its empty, but this file enables indexing the package in godoc.org.

Directories

Path Synopsis
Package bootstrap maintains the bootstrapping interface design for go-centrifuge.
Package bootstrap maintains the bootstrapping interface design for go-centrifuge.
cmd
Package documents implements Centrifuge document models.
Package documents implements Centrifuge document models.
v2
Package node provides utilities to control all long running background services on Centrifuge node
Package node provides utilities to control all long running background services on Centrifuge node
p2p
Package p2p implements the Centrifuge wire protocol.
Package p2p implements the Centrifuge wire protocol.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL