Sign inSign up

heatcrypto/heatledger

By heatcrypto

•Updated over 2 years ago

Official HEAT cryptocurrency blockchain server

Image
1

766

heatcrypto/heatledger repository overview

⁠HEAT blockchain

These are the official HEAT blockchain Docker repositories, these images are provided and maintained by the HEAT developers.

The HEAT images come in two forms. Standard and bootstrapped, the bootstrapped form comes with a loaded blockchain somewhere past block 4.3 milion, the standard form comes without blockchain - it instead downloads the blockchain from the HEAT network.

⁠&Tldr;

Run HEAT server, use 4.3.0_bootstrapped for image with pre loaded blockchain.

docker run -d --restart=on-failure:1 heatcrypto/heatledger:4.3.0

⁠Install

To run HEAT server (standard or bootstrapped) first install Docker for your platform⁠

The following command runs standard (without preloaded blockchain) HEAT server in the background.

docker run -d --restart=on-failure:1 heatcrypto/heatledger:4.3.0

The bootstrapped HEAT server is started as follows (notice it uses the :4.3.0_bootstrapped tag).

docker run -d --restart=on-failure:1 heatcrypto/heatledger:4.3.0_bootstrapped

You will see the container id when the container was started (example 6dd6383212eaa17fd3869135b1d3c8b87e5975a9dd62ef02e183ec24a645eb32)

Remove the -d flag to run the server in the forefront, when run without the -d flag the server will exit when the terminal window is closed.

The --restart=on-failure:1 flag is important as HEAT is expected to exit the first time it runs after it has initialised its blockchain storage.

⁠View logs

Server logs can be viewed as follows.

Find the id of the HEAT server container through docker ps⁠, logs are viewed with the docker logs⁠ command while passing the container id.

docker ps
→ CONTAINER ID   IMAGE                                      COMMAND                  CREATED             STATUS             PORTS                                                                                                NAMES
→ cca39b85e3f7   heatcrypto/heatledger:4.3.0_bootstrapped   "/bin/heatledger"        About an hour ago   Up About an hour   7733-7734/tcp, 7744/tcp, 7755/tcp      
docker logs cca39b85e3f7 --follow --tail 100
→ 2021-02-13 14:07:02 Pushed block 13586163720600127887 height 4309128 time 2021-02-13 14:07:02  from 78.46.99.11 transactions 0 generator 12289004105163558344  size 268  interval 15 tps 0
→ 2021-02-13 14:08:09 Pushed block 1250709365755842576  height 4309129  time 2021-02-13 14:08:09  from 78.46.99.11  transactions 0  generator 12289004105163558344  size 268  interval 67  tps 0
→ 2021-02-13 14:08:56 Pushed block 4229749997971559719  height 4309130  time 2021-02-13 14:08:57  from 176.9.82.66  transactions 0  generator 12289004105163558344  size 268  interval 48  tps 0
→ 2021-02-13 14:09:13 c.h.BlockchainProcessorImpl - Pushed block 15270825194064055362  height 4309131  time 2021-02-13 14:09:13  from 176.9.82.66  transactions 0  generator 8034838408066485608  size 268  interval 16  tps 0

⁠Server configuration

HEAT server is configured through properties which are passed to the docker run command.

Please find below more information on a subset of available of configuration properties.

PropertyDescriptionDefault
heat.enableAPIServerAccept http/json API requests.true
heat.maxApiRecordsMaximum number of API record results100
heat.allowedBotHostsHosts from which to allow http/json API requests
heat.apiServerPortPort for http/json API requests7733
heat.apiServerHostSet to 0.0.0.0 to allow the API server to accept requests
from all network interfaces
127.0.0.1
heat.apiKeyAPI key that has to be provided when executing protected
(administrative) API requests
heat.enableWebsocketsEnables the websocket server (for api use)false
heat.websocketServerPortPort for websocket server7755
heat.replicatorEnabledBuilds a SQL database index of blockchain data, used with APIfalse
heat.replicatorDbEngineSelected RDBMS vendor (MySQL or H2)H2
heat.virtualOrdersEnabledEnable the virtual order matcher, used with DEX APIfalse
heat.replicatorJdbcUrlH2JDBC connection URL for H2
heat.replicatorJdbcUrlMYSQLJDBC connection URL for MySQL
heat.protocolEncodingPeer 2 peer packet encoding. Json utf8 (slow) or avro binary (fast)avro
heat.signalingServerEnabledEnable embedded websocket server to provide signaling for WebRTC messagingfalse
heat.startForgingAutomatically start forging for this private key

Common used configuration examples are provided below. All commands require that all lines must be copied to command line as one single instruction, your command line will treat this as one single command due to the use of \ continuation characters at the end of each line.

⁠Optimized

With this configuration we will disable the API server as well as the indexing database, this ensures your server runs fast with low memory usage and requires the least storage space. If desired you can set your server to be a forging node (you will produce blocks in that case).

heat.enableAPIServer=false
heat.startForging=PUT YOUR SECRET PHRASE HERE JUST LIKE THIS TEXT

Example, please notice the syntax used here, especially how the properties argument is escaped. Remove the line with heat.startForging if you don't want to mine blocks.

docker run -d --restart=on-failure:1 heatcrypto/heatledger:4.3.0 -properties "
heat.startForging=PUT YOUR SECRET PHRASE HERE JUST LIKE THIS TEXT,\
heat.enableAPIServer=false"
⁠Full Indexed API Node

The following configuration enables all API endpoints (HTTP + Websockets) as well as the indexer database. Use this configuration to run a node which you want to access over the API as well as access all historical and indexed blockchain data.

Fully indexed nodes can be used to power the HEAT desktop client.

Example. Again with heat.startForging provided to start forging blocks, remove this line if this doesn't apply to you.

docker run -d -p 7733:7733 -p 7755:7755 --restart=on-failure:1 heatcrypto/heatledger:4.3.0 -properties "
heat.startForging=PUT YOUR SECRET PHRASE HERE JUST LIKE THIS TEXT,\
heat.enableAPIServer=true,\
heat.enableWebsockets=true,\
heat.virtualOrdersEnabled=true,\
heat.replicatorEnabled=true,\
heat.allowedBotHosts=*,\
heat.apiServerHost=0.0.0.0"

Note! Please always lease your balance from your main address to the address you use in the heat.startForging command. This is to prevent someone with access to your server to get access to your funds in your main address.

⁠More Information

Some more information on running these Docker images.

Tag summary

Content type

Image

Digest

sha256:784971b8c…

Size

4 GB

Last updated

over 2 years ago

docker pull heatcrypto/heatledger:4.3.1_bootstrapped_with_replicator