Docker image to run APIS Core node in a container.
Supports APIS Masternode & Mining & RPC
1. Recommended System Requirements
3. Setting Up With Docker Image
4. Setting Up With Preloaded Docker Image
5. Setting Up With Preloaded APIS AMI
8. Updating APIS Core to Preloaded APIS Core
- PC, cloud platform instance, or VPS with Ubuntu OS and Docker installed.
- Stable network with average speed of 400kbps
- Running Ubuntu 16.04 LTS or later
- Processor performance equivant to 1 vCPU (AWS)
- At least 2 GB of RAM
- At least 25 GB of storage to store the block chain files
VPS Provider Name | Service Name | System Spec |
---|---|---|
Amazon Web Services (AWS) | t2.small (EC2) | 1 CPU / 2GB RAM |
Microsoft Azure | D1 (Linux VM) | 1 Core / 3.5GB RAM / 50GB Storage |
Google Cloud Platform | n1-standard-1 (Compute Engine) | 1 vCPU / 3.75GB RAM |
Vultr | VC2 | 1 vCPU / 2048MB RAM |
Anyone can pull APIS Core docker image for Ubuntu 16.04 LTS machines with this command :
$ sudo docker pull apisplatform/apisj
...
Status: Downloaded newer image for apisplatform/apisj:latest
$ cd ~
$ mkdir apisData
$ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj /bin/bash
...
root@abcdef012345:/#
After this step, you can manage your own APIS Core docker container with downloaded image.
You can also see ~/apisData directory which includes blockchain data and your keystore data.
For everyone who needs fast sync, we made option to get pre-synced version.
Anyone can pull Pre-Synced APIS Core docker image for Ubuntu 16.04 LTS machines with this command :
$ sudo docker pull apisplatform/apisj:preloaded
...
Status: Downloaded newer image for apisplatform/apisj:preloaded
$ cd ~
$ mkdir apisData
$ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj:preloaded /bin/bash
...
root@abcdef012345:/#
After this step, you can manage your own Pre-Synced APIS Core docker container with downloaded image.
We provide Preloaded APIS AMI(Amazon Machine Image)
Anyone can use APIS Preloaded AMI from Amazon Marketplace. Just create Amazon EC2 instance and use APIS Preloaded AMI.
On AWS instance with APIS Preloaded AMI, just use following command :
$ sudo docker restart apisj
$ sudo docker attach apisj
...
root@abcdef012345:/#
After this step, you can manage your own Pre-Synced APIS Core docker container with downloaded image.
-
Run
apis-core
script withsh
commandroot@abcdef012345:/# sh ./apis-core
-
APIS Core setup panel will be shown
APIS Core Settings ========== v0.8.820 [0] Network : Mainnet [1] Max Peers : 30 [2] Miner : - [3] masternode : - [4] Reward Recipient : - [5] RPC(WS) Enabled : false [6] RPC(WS) Port : 44445 [7] RPC(WS) Max Connections: 1 [8] RPC(HTTP) Enabled : false [9] RPC(HTTP) Port : 44446 [A] RPC(HTTP) nThreads : 8 [B] RPC ID : d4d761908d76981d5a4a8a7b8b5902a3 [C] RPC Password : ec176fe186bee83944a9d848c4855d31 [D] RPC Allowed IP : 127.0.0.1 [E] Update APIS Core : 0.8.820 => 0.8.810 Input other key to start APIS Core Or if no key is entered, APIS Core will start automatically after 10 seconds. >>
-
[Optional] Setting up PoS mining config (Press '2')
You can get rewards through APIS Block mining. You should input Private key of a miner to start mining. The chance of getting reward goes higher with the registered miner's balance. -- Miner : Not set -- -- [1] Select miner from locked private key file [2] Deactivate mining (Clear miner setting) [3] Done >>
-
Loading miner wallet (Importing private key from PC wallet is recommended)
Which address would you like to mining? [A] Generate a new private key [B] Import private key [C] Cancel >> B Please input your Private key(Hex). >> d4e68558977bc0aaaaeced983c574bffd0e2d98123a7a687adbba58c8fbfffff
-
Select miner wallet
Which address would you like to mining? [A] Generate a new private key [B] Import private key [C] Cancel [1] 9f47869b3a469c27d8b3069c9a9fb2deb294580d (0 APIS) >> 1 Please enter the password of [9f47869b3a469c27d8b3069c9a9fb2deb294580d] >> ... You can get rewards through APIS Block mining. You should input Private key of a miner to start mining. The chance of getting reward goes higher with the registered miner's balance. -- Miner : 9f47869b3a469c27d8b3069c9a9fb2deb294580d (0 APIS) -- -- [1] Select miner from locked private key file [2] Deactivate mining (Clear miner setting) [3] Done >>
-
[Optional] Setting up Masternode wallet (Press '3')
APIS Core Settings ========== v0.8.820 [0] Network : Mainnet [1] Max Peers : 30 [2] Miner : 9f47869b3a469c27d8b3069c9a9fb2deb294580d (0 APIS) [3] masternode : - [4] Reward Recipient : - [5] RPC(WS) Enabled : false [6] RPC(WS) Port : 44445 [7] RPC(WS) Max Connections: 1 [8] RPC(HTTP) Enabled : false [9] RPC(HTTP) Port : 44446 [A] RPC(HTTP) nThreads : 8 [B] RPC ID : d4d761908d76981d5a4a8a7b8b5902a3 [C] RPC Password : ec176fe186bee83944a9d848c4855d31 [D] RPC Allowed IP : 127.0.0.1 [E] Update APIS Core : 0.8.820 => 0.8.810 Input other key to start APIS Core >> 3
-
Loading & Selecting Masternode wallet
Which address would you like to masternode? [A] Generate a new private key [B] Import private key [C] Cancel [1] 9f47869b3a469c27d8b3069c9a9fb2deb294580d (0 APIS) >> 1 Please enter the password of [9f47869b3a469c27d8b3069c9a9fb2deb294580d] >> ... You should input Private key of a masternode to staking. The balance of the Masternode must be exactly 50,000, 200,000, and 500,000 APIS. -- Masternode : 9f47869b3a469c27d8b3069c9a9fb2deb294580d (0 APIS) -- [1] Select masternode from locked private key file [2] Deactivate masternode (Clear masternode & recipient setting) [3] Done >>
-
Selecting Masternode receipent
You should input address of a recipient to receive the Masternode's reward instead. -- Recipient : Not set -- [1] Select recipient from locked private key file [2] Deactivate masternode (Clear masternode & recipient setting) [3] Done >> ... You should input address of a recipient to receive the Masternode's reward instead. -- Recipient : 9f47869b3a469c27d8b3069c9a9fb2deb294580d (0 APIS) -- [1] Select recipient from locked private key file [2] Deactivate masternode (Clear masternode & recipient setting) [3] Done >>
-
Set RPC config and Update if needed
[5] RPC(WS) Enabled : false [6] RPC(WS) Port : 44445 [7] RPC(WS) Max Connections: 1 [8] RPC(HTTP) Enabled : false [9] RPC(HTTP) Port : 44446 [A] RPC(HTTP) nThreads : 8 [B] RPC ID : d4d761908d76981d5a4a8a7b8b5902a3 [C] RPC Password : ec176fe186bee83944a9d848c4855d31 [D] RPC Allowed IP : 127.0.0.1 [E] Update APIS Core : 0.8.820 => 0.8.810
20:45:27.428 INFO [ApisFactory.java:62] Starting APIS...
20:45:29.421 INFO [Initializer.java:49] Running apis-mainnet.json, core version: ...
...
-
Stop apis core in docker container by hitting
CTRL + C
. -
Stop docker container by typing
exit
.root@abcdef012345:/# exit exit username@ubuntu:~$
-
Remove old container (Keystore and block data will not be deleted but we recommend backing up files)
$ sudo docker rm apisj
-
Pull updated docker image from docker hub and restart your container.
$ sudo docker pull apisplatform/apisj $ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj /bin/bash ... root@abcdef012345:/#
-
Restart apis-core
root@abcdef012345:/# sh apis-core
-
Stop apis core in docker container by hitting
CTRL + C
. -
Stop docker container by typing
exit
.root@abcdef012345:/# exit exit username@ubuntu:~$
-
Remove old container (Keystore and block data will not be deleted but we recommend backing up files)
$ sudo docker rm apisj
-
Pull updated docker image from docker hub and restart your container.
$ sudo docker pull apisplatform/apisj:preloaded $ sudo docker run --net=host -it --name apisj -v ~/apisData:/apis/apisData apisplatform/apisj:preloaded /bin/bash ... root@abcdef012345:/#
-
Restart apis-core
root@abcdef012345:/# sh apis-core
-
Stop apis core in docker container by hitting
CTRL + C
. -
Stop docker container by typing
exit
.root@abcdef012345:/# exit exit username@ubuntu:~$
-
Remove old container (Keystore and block data will not be deleted but we recommend backing up files)
$ sudo docker rm apisj
-
Remove
apisData
directory$ sudo docker rm apisj
Project Nile
Project Nile is a long-term, business-oriented project that contains detailed plan to construct better mainnet ecosystem by supporting third-party development on APIS Mainnet and to create various business opportunities using APIS Mainnet and infrastructure with better scalablity.
Project Nile - Mainnet Scalablity
- Establishing APIS Labs
- Releasing APIS Open API
- APIS Labs opens APIS dev. community
- APIS Open API Beta starts
- APIS Smart contract IDE Beta open
- Delivering AC/DC (APIS Code/DApp Convention) consensus of core contracts
- APIS Open API official launch
- AC/DC confirm, disclosure
- AC/DC suggestion system open
- APIS smart contract IDE official launch
- Launch Enterprise APIS Open API
Project Nile - Business Opportunity
- Releasing On-demand APIS Masternode platform
- Releasing On-chain Asset / Exchange
- APIS Labs opens DApp Incubator program
- On-chain Asset launch
- On-chain Exchange (DEX) launch
- On-demand APIS Masternode platform Beta open
- Releasing APIS Masternode platform for firms
- Disclose APIS Hashpower platform
- Partnership as APIS Masternode platform for firms
- Disclosing APIS hash power platform partner
- SPHINX licensing and partnership
- APIS hash power platform Beta open
- Additional listing of On-chain Exchange(DEX)
- Official launch of On-demand APIS Masternode platform
- Releasing APIS Hashpower platform
- Releasing APIS Masternode platform for enterprises
APIS Development Team & The Oxchild Pte.Ltd.
Document written by Ryan.