Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bitshares/bitshares-core
BitShares Blockchain node and command-line wallet
https://github.com/bitshares/bitshares-core
bitshares blockchain cryptocurrency dac dex
Last synced: 2 months ago
JSON representation
BitShares Blockchain node and command-line wallet
- Host: GitHub
- URL: https://github.com/bitshares/bitshares-core
- Owner: bitshares
- License: other
- Created: 2015-10-12T17:36:04.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-24T12:04:50.000Z (6 months ago)
- Last Synced: 2024-08-01T22:44:02.492Z (5 months ago)
- Topics: bitshares, blockchain, cryptocurrency, dac, dex
- Language: C++
- Homepage: https://bitshares.github.io/
- Size: 28 MB
- Stars: 1,170
- Watchers: 160
- Forks: 647
- Open Issues: 263
-
Metadata Files:
- Readme: README-docker.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-bitshares - bitshares-core - reference code base that operates the blockchain. (Libraries / C++ Libraries)
- best-of-crypto - GitHub - 20% open · ⏱️ 15.12.2023): (Exchange-based Tokens)
README
# Docker Container
This repository comes with built-in Dockerfile to support docker
containers. This README serves as documentation.## Dockerfile Specifications
The `Dockerfile` performs the following steps:
1. Obtain base image (phusion/baseimage:0.10.1)
2. Install required dependencies using `apt-get`
3. Add bitshares-core source code into container
4. Update git submodules
5. Perform `cmake` with build type `Release`
6. Run `make` and `make_install` (this will install binaries into `/usr/local/bin`
7. Purge source code off the container
8. Add a local bitshares user and set `$HOME` to `/var/lib/bitshares`
9. Make `/var/lib/bitshares` and `/etc/bitshares` a docker *volume*
10. Expose ports `8090` and `1776`
11. Add default config from `docker/default_config.ini` and
`docker/default_logging.ini`
12. Add an entry point script
13. Run the entry point script by defaultThe entry point simplifies the use of parameters for the `witness_node`
(which is run by default when spinning up the container).### Supported Environmental Variables
* `$BITSHARESD_SEED_NODES`
* `$BITSHARESD_RPC_ENDPOINT`
* `$BITSHARESD_PLUGINS`
* `$BITSHARESD_REPLAY`
* `$BITSHARESD_RESYNC`
* `$BITSHARESD_P2P_ENDPOINT`
* `$BITSHARESD_WITNESS_ID`
* `$BITSHARESD_PRIVATE_KEY`
* `$BITSHARESD_TRACK_ACCOUNTS`
* `$BITSHARESD_PARTIAL_OPERATIONS`
* `$BITSHARESD_MAX_OPS_PER_ACCOUNT`
* `$BITSHARESD_ES_NODE_URL`
* `$BITSHARESD_TRUSTED_NODE`### Default config
The default configuration is:
p2p-endpoint = 0.0.0.0:1776
rpc-endpoint = 0.0.0.0:8090
bucket-size = [60,300,900,1800,3600,14400,86400]
history-per-size = 1000
max-ops-per-account = 100
partial-operations = true# Docker Compose
With docker compose, multiple nodes can be managed with a single
`docker-compose.yaml` file:version: '3'
services:
main:
# Image to run
image: bitshares/bitshares-core:latest
#
volumes:
- ./docker/conf/:/etc/bitshares/
# Optional parameters
environment:
- BITSHARESD_ARGS=--helpversion: '3'
services:
fullnode:
# Image to run
image: bitshares/bitshares-core:latest
environment:
# Optional parameters
environment:
- BITSHARESD_ARGS=--help
ports:
- "0.0.0.0:8090:8090"
volumes:
- "bitshares-fullnode:/var/lib/bitshares"# Docker Hub
This container is properly registered with docker hub under the name:
* [bitshares/bitshares-core](https://hub.docker.com/r/bitshares/bitshares-core/)
Going forward, every release tag as well as all pushes to `develop` and
`testnet` will be built into ready-to-run containers, there.# Docker Compose
One can use docker compose to setup a trusted full node together with a
delayed node like this:```
version: '3'
services:fullnode:
image: bitshares/bitshares-core:latest
ports:
- "0.0.0.0:8090:8090"
volumes:
- "bitshares-fullnode:/var/lib/bitshares"delayed_node:
image: bitshares/bitshares-core:latest
environment:
- 'BITSHARESD_PLUGINS=delayed_node witness'
- 'BITSHARESD_TRUSTED_NODE=ws://fullnode:8090'
ports:
- "0.0.0.0:8091:8090"
volumes:
- "bitshares-delayed_node:/var/lib/bitshares"
links:
- fullnodevolumes:
bitshares-fullnode:
```