Set up Issuer Node API
This article details the steps to set up your own Issuer Node API.
Issuer Node v3 is now available, bringing enhanced features and optimizations. If you are using the previous version of Issuer Node (v2), we recommend upgrading to the latest version as soon as possible. To ensure a smooth transition, please follow the migration guide provided here .
Below is the installation guide for Issuer Node v3.
Installation
For an advance configuration of the Issuer Node (RHS, Ethereum Identities and more), visit the Advanced Issuer Node configuration guide.
You have to first clone the repository.
Docker Mode Guide
Requirements
- Docker Engine 1.27
- Makefile toolchain
- Unix-based operating system (e.g. Debian, Arch, Mac OS X)
- Go version 1.19 or higher
Issuer Node API Setup (basic configuration building docker images)
Before you start, ensure the resolvers_setting_sample.yaml
in the root directory. For information on configuration, see Setting up networks and chains in Advanced Configuration guide.
Follow these steps to get started:
Configure Environment File:
Copy the sample configuration file:
cp .env-issuer.sample .env-issuer
Set Environment Variables
Fill in the
.env-issuer
config file to match your environment, especially the ISSUER_SERVER_URL and any other relevant variables..env-issuer
ISSUER_SERVER_URL=<PUBLIC_SERVER_API_URL>
Key Management System (KMS) Setup
The Issuer Node supports multiple Key Management System (KMS) options for securely creating, signing, and managing private keys. Depending on your setup, you can choose one or more of the following options:
- HashiCorp Vault
- AWS Secrets Manager
- AWS KMS (for ETH keys only)
- Local Storage (for testing only)
To configure your KMS, refer to the sample .env-issuer file and update your .env-issuer config file accordingly to your selected KMS. Detailed instructions and guidance on how to choose the right option for your use case can be found on the KMS Configuration section.
Import Ethereum Private Key
Import your Ethereum private key into the KMS provider you have configured. The associated account must be funded for state transitions. For Amoy network you can request some testing Matic here.
make private_key=<YOUR_WALLET_PRIVATE_KEY> import-private-key-to-kms
Start the Issuer Node API
Build and run the Issuer Node API:
make up && make build-api && make run-api
Issuer Node API specification
The Issuer Node API will be accessible at:
http://localhost:3001 or http://<PUBLIC_SERVER_API_URL>:3001
Related guides:
How to Set Up Issuer Node UI Guide
Migrating from Issuer Node v2 to v3 Guide