All Projects → Alethio → Ethstats Network Server

Alethio / Ethstats Network Server

Licence: mit
EthStats - Server

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Ethstats Network Server

Web3 Vs Ethers
A basic cheatsheet of Web3.js vs Ethers (along w/ example apps!)
Stars: ✭ 103 (+472.22%)
Mutual labels:  ethereum, web3js
Ethereum Lite Explorer
Alethio's Light Weight Open Source Ethereum Explorer
Stars: ✭ 141 (+683.33%)
Mutual labels:  ethereum, web3js
Desktop
The official Musicoin Desktop Wallet Application
Stars: ✭ 112 (+522.22%)
Mutual labels:  ethereum, web3js
Awesome Ethereum Cn
Web3.js、Solidity、Truffle开发教程及以太坊开发资源汇总
Stars: ✭ 54 (+200%)
Mutual labels:  ethereum, web3js
Web3swift
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
Stars: ✭ 237 (+1216.67%)
Mutual labels:  ethereum, web3js
Starter Kit
An OpenZeppelin starter kit containing React, OpenZeppelin SDK & OpenZeppelin Contracts.
Stars: ✭ 101 (+461.11%)
Mutual labels:  ethereum, web3js
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (+672.22%)
Mutual labels:  ethereum, web3js
Web3studio Bootleg
The Shared Royalty Non-Fungible Token (a.k.a Bootleg) is an open source project started by the ConsenSys Web3Studio team. The purpose of the Shared Royalty Non-Fungible Token (SRNFT) is to make any royalty business model, from the oil and gas industry to entertainment, easy to manage with the Ethereum blockchain .
Stars: ✭ 65 (+261.11%)
Mutual labels:  ethereum, web3js
Erc20 Generator
Create an ERC20 Token for FREE in less than a minute with the most used Smart Contract Generator for ERC20 Token. No login. No setup. No coding required.
Stars: ✭ 202 (+1022.22%)
Mutual labels:  ethereum, web3js
Web3x
Ethereum TypeScript Client Library - for perfect types and tiny builds.
Stars: ✭ 197 (+994.44%)
Mutual labels:  ethereum, web3js
Ethereumbook
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
Stars: ✭ 11,663 (+64694.44%)
Mutual labels:  ethereum, web3js
React Ethereum Dapp Example
A starter boilerplate for an Ethereum dapp using web3.js v1.0, truffle, react, and parity
Stars: ✭ 384 (+2033.33%)
Mutual labels:  ethereum, web3js
Elm Ethereum
dApps in Elm
Stars: ✭ 129 (+616.67%)
Mutual labels:  ethereum, web3js
Web3 By Example
Node.js with Web3 javascript examples for getting basic information (transactions, balances, network stats, and tokens) from the Ethereum blockchain.
Stars: ✭ 156 (+766.67%)
Mutual labels:  ethereum, web3js
Ethereum voting dapp
Simple Ethereum Voting dapp using Truffle framework
Stars: ✭ 355 (+1872.22%)
Mutual labels:  ethereum, web3js
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (+2233.33%)
Mutual labels:  ethereum, web3js
Ethereum nvidia miner
💰 USB flash drive ISO image for Ethereum, Zcash and Monero mining with NVIDIA graphics cards and Ubuntu GNU/Linux (headless)
Stars: ✭ 772 (+4188.89%)
Mutual labels:  ethereum
Cryptocurrency Arbitrage
A cryptocurrency arbitrage opportunity calculator. Over 800 currencies and 50 markets.
Stars: ✭ 836 (+4544.44%)
Mutual labels:  ethereum
Typechain
🔌 TypeScript bindings for Ethereum smart contracts
Stars: ✭ 769 (+4172.22%)
Mutual labels:  ethereum
Awesome Cryptoeconomics
An awesome curated list of Cryptoeconomic research and learning materials
Stars: ✭ 763 (+4138.89%)
Mutual labels:  ethereum

ethstats-network-server

EthStats - Server

The server collects/stores/aggregates data sent through ethstats-cli.

Requirements

Lite mode:

Node.js >= 8.0 (https://nodejs.org/en/download/)

NPM >= 6.0 (NPM is distributed with Node.js. For more infos see: https://www.npmjs.com/get-npm)

Deepstream >= 3.1 (https://github.com/deepstreamIO/deepstream.io/releases)

Redis >= 3.2 (https://redis.io/download)

Cluster mode additions:

Cassandra >= 3.10 (https://cassandra.apache.org/download/)

Kafka >= 0.11 (https://kafka.apache.org/downloads)

Installation

git clone https://github.com/Alethio/ethstats-network-server.git
npm install

Update

To update the server just do a "git pull" and restart the app.

Usage

./bin/app.js

Shell options

      General
        --help, -h              Show help
        --version, -V           Show version

      Logging
        --verbose, -v           Output detailed information
        --debug, -d             Output debug values
        --logs2json             Output logs in JSON format

      Application
        --host, -H              App hostname
        --port, -p              App port (default: 3000)
        --app, -a               App name (default: server). Run specific app as separate service (Available: server|consumer|api|configurator|kohera).
                                Recommended for cluster environments. If --lite is specified, this option is ignored.

        --lite                  Run in lite mode (default: off). In a single instance will be started all necessary services (server, consumer, api).
                                DB will be persisted in memory, no Kafka needed for queuing and no Redis for caching.
                                Only Deepstream is needed for real time data reporting in the front end application.
        --lite-api-port         Lite mode API port (default: 3030)
        --lite-db-limit         Number of blocks to persist in memory (default: 3000).
        --lite-db-persist       Persist DB in Redis. This option is available only in lite mode and consistent with --lite-db-limit (default: off).

      Consumer
        --topic, -t             Topic name to consume

      Kohera
        --interval              Block interval to be checked for consistency. Value format: "start:end"
                                The missing blocks found are fetched and sent to the consumer.
                                If not specified the service will continuously check the consistency.
        --check-only            Only check the missing blocks without fetching the data.

      Metrics
        --metrics-port          Http port for metrics (default: 8888)

Docker

Lite mode

In lite mode the total number of blocks persisted is by default 3000. See --lite-db-limit option if custom value is needed.

There are 2 ways to start the server in lite mode.

  • Memory persistence - in case of a crash/restart the gathered data is lost.
  • Redis persistence - in case of a crash/resstart the gathered data is persisted into Redis.

Lite mode will use the default settings and some 3rd party dependent services like: Deepstream, Dashboard or Redis depending on the persistence needs. For more details on the default settings see .env.sample. And because of the dependent services, docker-compose is used, to include them.

No persistence:

cd docker/lite-mode/no-persistence
docker-compose up

With persistence:

cd docker/lite-mode/with-persistence
docker-compose up

Cluster mode

In cluster mode a single service will be started depending the configs specified in the .env file for via CLI flags. See .env.sample file or shell options.

docker build . -t <serviceName>
docker run -d <serviceName>

or

docker run -d alethio/ethstats-network-server:latest

If used from the docker hub image, configs can pe passed through env vars. For available env vars see .env.sample.

DB Migrations

Migrations are done through cqlsh.

Path: /db/cassandra/migrations

Changelog

Please see changelog file for all notable changes to this project.

License

MIT © Alethio

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].