Skip to content

Remmeauth/remme-core

Repository files navigation

REMME Core

Jenkins Docker Stars Gitter

REMME is a blockchain-based protocol used for issuing and management of public keys to resolve issues related to cybersecurity, IoT connectivity, data integrity, digital copyright protection, transparency etc.

Remme core is built on Hyperledger Sawtooth platform, allowing to be flexible in language choice during the development process.`Remme core exposes application programming interface based on RPC API.

Remme also supports JS and .NET programming libraries that wrap its application programming interface, so that you could easily embed the protocol in your project.

🔖 Documentation

🔖 Architecture overview

🔖 Docs & tutorials

🔖 REMME use case for IoT

🔖 Blog & talks

How to build on REMME Core

  1. REMChain is one of the components of our solution and a basic layer of our distributed Public Key Infrastructure — PKI(d) protocol. In a nutshell, it’s a multi-purpose blockchain that acts as a distributed storage for a certificate’s hash, state (valid or revoked), public key and expiration date.
  2. Based on your needs, define what kind of information (e.g. multi-signature) REMME digital certificate will contain.
  3. Choose how to integrate REMME:
Library Repository Version
REMME JS SDK remme-client-js npm
REMME .NET SDK remme-client-dotnet nuget
REMME Java SDK remme-client-java maven
  1. Use REMME Testnet to check your ideas.
  2. Discuss your integration concept in REMME tech community or call for help if you need it.

API endpoints for public testnet

We are striving to simplify interaction with the REMchain by providing a common RPC and WebSocket architecture and formatting. There are several endpoints provided for managing the node and reading its state.

In order to start interacting with RPC API with an interface, you may need to start the node locally and access the generated RPC-API documentation.

Getting started with your own node

The node was tested on Linux and macOS. Running on Windows may require significant modification of startup scripts.

Currently it is not possible to connect your own node to the test network. All nodes you will run will work on your own network.

Prerequisites

  • Docker Compose (17.09.0+)
  • Docker (compatible with your Docker Compose)

For an end-user

  1. Download the latest release from Releases section (<version_number>-release.zip). Unpack it.
  2. Start node: Open a terminal inside the unpacked folder and run ./run.sh.
  3. You can now use our RPC API. By default it is started on http://localhost:8080. The API port can be changed in config/network-config.env file.

On the first run you will need to initialize the genesis block. To make that just run ./run.sh -g. This will generate a new key pair and genesis block.

Flags available for run.sh are:

  • scripts/run.sh features a single entrypoint to run a project with the

    following flags:

    • -g to run a node in genesis mode
    • -b to run a node in background
    • -u to start a node (default flag)
    • -d to stop a node

For developers & contributors

Clone this repository to your machine: git clone https://github.com/Remmeauth/remme-core.git

When you have this repository cloned go the project directory and run

  1. make build_dev (make build for more compact but slower builds)
  2. make run_genesis or make run if you are working on an existing chain.

Detailed instructions are available in BUILD.md

NOTE: on further runs you might want to run make run to persist the transaction created before. If you want to start with a clean chain, use make run_genesis again.

You can run make test to run automated tests.

Building documentation

You can build the documentation locally with the following commands:

$ git clone [email protected]:Remmeauth/remme-core.git && cd remme-core
$ make build_docs && open docs/html/index.html

License

REMME software and documentation are licensed under Apache License Version 2.0.

About

Distributed Public Key Infrastructure (dPKI) protocol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages