All Projects → helium → blockchain-node

helium / blockchain-node

Licence: Apache-2.0 License
A Helum Blockchain Node

Programming Languages

erlang
1774 projects
shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to blockchain-node

beryldb
BerylDB is a fully modular data structure data manager that can be used to store data as key-value entries. The server allows channel subscription and is optimized to be used as a cache repository. Supported structures include lists, sets, multimaps, and keys.
Stars: ✭ 201 (+367.44%)
Mutual labels:  rocksdb
helium
No description or website provided.
Stars: ✭ 74 (+72.09%)
Mutual labels:  helium
Auto-Download-QQMail-Attach
Python + Selenium + Chrome 模拟登陆QQ邮箱,批量下载附件,本地重命名
Stars: ✭ 38 (-11.63%)
Mutual labels:  helium
rippledb
Embeddable key-value database engine in pure TypeScript, based on LSM-Tree
Stars: ✭ 33 (-23.26%)
Mutual labels:  rocksdb
engine
Online 4X Grand Strategy RPG Engine
Stars: ✭ 19 (-55.81%)
Mutual labels:  rocksdb
quitsies
A persisted drop-in replacement for Memcached, respecting the rules of quitsies.
Stars: ✭ 16 (-62.79%)
Mutual labels:  rocksdb
rust-rocks
Make RocksDB really rocks! The Rust style API.
Stars: ✭ 41 (-4.65%)
Mutual labels:  rocksdb
rocks4j
KV Store for Java backed by RocksDB
Stars: ✭ 13 (-69.77%)
Mutual labels:  rocksdb
database-engine
LSM-Tree Key-Value Store based on RocksDB
Stars: ✭ 47 (+9.3%)
Mutual labels:  rocksdb
distkv
Distributed KV Storage System based on Raft and RocksDB, can be use to store small files, like images.
Stars: ✭ 50 (+16.28%)
Mutual labels:  rocksdb
helium
Helium is a small, simple, modular constructor with some pre-built components for your convenience.
Stars: ✭ 67 (+55.81%)
Mutual labels:  helium
RocksServer
Flexible and fast server for RocksDB
Stars: ✭ 33 (-23.26%)
Mutual labels:  rocksdb
kedis
Kedis-Server is a Redis-Protocol compatible persistance NoSQL with RocksDB as its storage engine
Stars: ✭ 82 (+90.7%)
Mutual labels:  rocksdb
newsql nosql library
整理12种数据库相关资料,mysql,mariaDB,Percona Server,MongoDB,Redis,RocksDB,TiDB,CouchDB,Cassandra,TokuDB,MemDB,Oceanbase
Stars: ✭ 270 (+527.91%)
Mutual labels:  rocksdb
hotspot-app
Helium hotspot app for iOS and Android
Stars: ✭ 141 (+227.91%)
Mutual labels:  helium
southpaw
⚾ Streaming left joins in Kafka for change data capture
Stars: ✭ 48 (+11.63%)
Mutual labels:  rocksdb
balboa
server for indexing and querying passive DNS observations
Stars: ✭ 42 (-2.33%)
Mutual labels:  rocksdb
infinitree
Scalable and encrypted embedded database with 3-tier caching
Stars: ✭ 80 (+86.05%)
Mutual labels:  rocksdb
toplingdb
ToplingDB is a cloud native LSM Key-Value Store with searchable compression algo and distributed compaction
Stars: ✭ 631 (+1367.44%)
Mutual labels:  rocksdb
pika
Pika is a nosql compatible with redis, it is developed by Qihoo's DBA and infrastructure team
Stars: ✭ 4,719 (+10874.42%)
Mutual labels:  rocksdb

blockchain-node

Build status

This is an Erlang application that is a Helium Blockchain node. It follows the blockchain and exposes functionality using a JSONRPC 2.0 API.

Documentation

See API endpoint documentation (in markdown format).

Developer Usage

  • Clone this repository

  • Run make && make release in the top level folder

  • Run make start to start the application. Logs will be at _build/dev/rel/blockchain_node/log/*.

Once started the application will start syncing the blockchain and loading blocks. If this is done from scratch it can take a number of days to download all blocks from the network and aobsorb them in the local ledger.

File Descriptors

The application uses a lot of file descriptors for network communication and local storage. If you see errors related to too many open files or nofile, stop the application and increase the file descriptor limit.

macOS

You may see an error similar to the following:

{error,"IO error: While open a file for appending: data/blockchain.db/020311.sst: Too many open files"}

Check this Superuser answer for a workaround.

Linux

Update your /etc/security/limits.conf to increase your file limits. An example of what to add can be seen here.

Installing Ubuntu Required Packages

If running on Ubuntu, you will need the following packages installed before running make release:

wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
sudo dpkg -i erlang-solutions_2.0_all.deb
sudo apt-get update
sudo apt install esl-erlang=1:22.3.4.1-1 cmake libsodium-dev libssl-dev build-essential
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

If you already have rust installed, please ensure it is at least at verion 1.51 or upgrade to the latest stable using rustup update stable

Using Docker

Building the Docker Image

make docker-build

Running the Docker Container

make docker-start

Updating Docker

Navigate to your copy of the blockchain-node repository.

cd /path/to/blockchain-node

Stop the Node.

make docker-stop

Update the repository.

git pull

Remove the existing Docker container.

make docker-clean

Rebuild the Docker image.

make docker-build

Run the updated Docker container.

make docker-start

Log the Node output.

tail -f $HOME/node_data/log/console.log

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].