Deploy Tonomy ID
Deployment of the full Tonomy ID involves several integrated services and is expected to take several hours for someone not familiar with the system
Please contact us for assistance in your on-site deployment, or to help run a fully managed service with updates.
Prerequisites
- Tonomy ID services run exclusively in
Linux
, we recommend Ubuntu 20.04 or 22.04. npm
withcorepack enabled
, we recommend v18.12.1. Suggested to install with nvm v0.35+
Services to run Tonomy ID
- Tonomy ID (React Native mobile wallet) - Github source
- Tonomy Account Website (Reactjs) - Github source
- Blockchain and
id.tmy
smart contracts (Antelope protocol) - Github source - Tonomy Communication (nestjs) - Github source
Deployment
Locally
The easiest way is to use the automated scripts with the Tonomy-ID-Integration repository
Check the README.md
for dependencies and instructions.
git clone https://github.com/Tonomy-Foundation/Tonomy-ID-Integration
cd Tonomy-ID-Integration
./app.sh gitinit
./app.sh install
./app.sh init
./app.sh start
On-site / cloud
We suggest that you look at the ./app.sh
and ./scripts/helpers.sh
files in the Tonomy-ID-Integration repository to get an idea of how to run and bootstrap the network.
Read the README.md
for each of the services before you start!
Then you will need to deploy each service, with configuration so that they connect with each other:
-
Deploy an and initialize an Antelope blockchain - see the official Antelope node guide
- For a production grade network, we suggest 3 nodes if run by the same entity, or 5 nodes if run by separate entities
- For maximum scaleability, run using bare-metal servers.
- Please contact us for assistance running a production Antelope network or setting up governance.
-
Create the
id.tmy
account on the blockchain - Deploy the id.tmy contract to the
id.tmy
account on the blockchain - Register your applications that you wish to connect to Tonomy ID
-
Configure the software with the
config.json
file in the repository so that they are connected correctly using your domains, and to white-label the applications:- Copy the following files and use environment variables to change which configuration file is used
- Tonomy ID config.json
- Tonomy App Websites config.json
- Tonomy Communication config.json
-
Create a new Google Play store and Apple App store listing.
- Use Expo or Expo Application Services to build Tonomy ID and submit it to your app store listings.
-
Deploy Tonomy App Websites
- You need to use the
accounts.
subdomain to run the Tonomy Accounts website - You need to use the
demo.
subdomain to run the Tonomy Demo website
- You need to use the
-
Deploy Tonomy Communication
(Optional) Sign blockchain transactions in your apps
If you want to have your applications sign blockchain transactions, see Sign a blockchain transaction for how to configure your smart contracts.
(Optional) Run the Demo website
To run the Demo website in your network follow these extra steps:
- Register the application using the domain you wish to run the Demo website from
- Deploy the eosio.token contract to the
eosio.token
account (or modify the Demo website to connect to a different account) - Call
addperm()
function with the account name of the registered Demo application (Step 1) - Create dummy accounts as shown in the bootstrap script here