MCPcopy Create free account
hub / github.com/bitshares/bitshares-core

github.com/bitshares/bitshares-core @test-7.0.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release test-7.0.4 ↗ · + Follow
3,301 symbols 9,345 edges 411 files 409 documented · 12% updated 4mo ago7.0.2 · 2023-12-15★ 1,184229 open issues

Browse by type

Functions 2,321 Types & classes 980
What it actually does AI analysis from the code graph — generated when you open this
loading…
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 8091 and 9091
  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 default

The 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:9091
rpc-endpoint = 0.0.0.0:8091
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=--help


version: '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:

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: 
  - fullnode

volumes:
 bitshares-fullnode:

Core symbols most depended-on inside this repo

Shape

Method 2,001
Class 944
Function 320
Enum 36

Languages

C++99%
Python1%

Modules by API surface

libraries/net/node.cpp152 symbols
libraries/wallet/wallet.cpp148 symbols
libraries/app/database_api.cpp126 symbols
programs/js_operation_serializer/main.cpp110 symbols
tests/common/database_fixture.cpp74 symbols
libraries/app/api.cpp70 symbols
libraries/protocol/include/graphene/protocol/asset_ops.hpp57 symbols
tests/tests/p2p_node_tests.cpp50 symbols
libraries/chain/include/graphene/chain/asset_object.hpp47 symbols
libraries/net/include/graphene/net/core_messages.hpp46 symbols
libraries/net/peer_connection.cpp41 symbols
libraries/chain/db_maint.cpp40 symbols

For agents

$ claude mcp add bitshares-core \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page