Copy Of Hive repo from Syncad
Go to file
Bartek Wrona 1602e2e2d7 Image publishing script should push `minimal-instance` targets into hiveio like also registry.hive.blog. Also fixed registry.hive.blog image pathname 2024-03-15 16:25:14 +01:00
.github/workflows Ninja is new make. 2024-02-27 21:20:37 +01:00
cmake Add HIVE_CONVERTER_ICEBERG_PLUGIN_ENABLED cmake option 2024-02-27 21:20:31 +01:00
contrib remove rc_plugin files 2023-08-11 21:48:18 +02:00
doc Add docs on bpftrace 2024-03-14 13:27:47 +01:00
docker Added proper handling of incorrect values HIVED_UID to docker_entrypoint.sh 2024-02-27 21:20:38 +01:00
example_plugins/example_api_plugin Macro `JSON_RPC_REGISTER_API` uses the application object delivered from API classes. 2024-02-27 21:20:25 +01:00
external_plugins Remove old codegen #1157 2017-06-06 13:12:21 -04:00
libraries Approve argument in escrow_approve operation is now passed 2024-03-14 13:27:47 +01:00
programs Introduce data encryption and decryption to the beekeeper typescript interface 2024-03-14 13:27:47 +01:00
scripts Image publishing script should push `minimal-instance` targets into hiveio like also registry.hive.blog. Also fixed registry.hive.blog image pathname 2024-03-15 16:25:14 +01:00
tests Rename TIME_OFFSET_FORMAT WITH FAKETIME_FORMAT 2024-03-14 13:27:47 +01:00
.dockerignore .dockerignore file extended by Dockerfile itself like also *.log files pattern (to eliminate build trigger when in-source docker build is performed) 2022-06-08 23:16:03 +02:00
.gitattributes Fix line endings configuration 2022-08-05 10:10:17 +00:00
.gitignore Dynamically replace wasm dependents based on the bundle environment 2024-02-27 21:20:37 +01:00
.gitlab-ci.yaml Fix beem dependencies issue 2024-03-14 13:27:47 +01:00
.gitmodules Made all submodules shallow 2024-02-27 21:20:30 +01:00
CMakeLists.txt Move liburing to else section of WIN32 2023-11-11 22:06:57 +00:00
CONTRIBUTING.md Update CONTRIBUTING.md 2022-03-14 02:12:36 +00:00
Dockerfile Add a smaller base image for haf to build its minimal-runtime image from 2024-02-27 21:20:38 +01:00
Doxyfile steem -> hive rebranding v1.0.0 2020-06-24 01:27:43 +02:00
LICENSE.md Update LICENSE.md for 2020 2021-03-25 08:25:51 -04:00
README.md Update README.md 2023-08-15 11:16:48 +02:00
setup.py Tests dir changes 2021-08-17 14:25:45 +02:00
version.py Tests dir changes 2021-08-17 14:25:45 +02:00

README.md

Hive - Decentralizing the exchange of ideas and information

Hive

Hive is a Graphene-based social blockchain that was created as a fork of Steem and born on the core idea of decentralization. Originally, Hive was announced on the Steem blockchain prior to the initial token airdrop. Hive did not have any ICO or mining period.

The Hive blockchain removes the elements of centralization and imbalanced control that plagued the Steem blockchain. Since its launch on March 20, 2020, Hive is growing and evolving day by day. Hive's prime selling points are its decentralization, 3 second transaction speed and ability to handle large volumes. It is ideal real estate for a variety of innovative projects focused on a broad range of fields, from open source development to games.

Hive serves as the operational home for all kinds of projects, companies, and applications. Having a highly active and passionate community, Hive has become a thriving atmosphere for new and experienced developers to quickly bootstrap their applications. On top of this, Hive is extremely rewarding to content creators and curators alike.

The technical development of the Hive blockchain itself is carried out by the founding decentralized group of over 30 open source developers, many of whom were instrumental in creating Steem back in 2016, and supported by a growing community of additional open source developers and witnesses.

Documents

Advantages

  • Hive Fund
  • Truly Decentralized Community
  • Free Transactions (Resource Credits = Freemium Model)
  • Fast Block Confirmations (3 seconds)
  • Time Delay Security (Vested Hive & Savings)
  • Hierarchical Role Based Permissions (Keys)
  • Integrated Token Allocation
  • Lowest Entry-Barrier for User Adoption in the market
  • Dozens of dApps already built on Hive and many more to come

Technical Details

  • Currency symbol HIVE
  • HBD - Hive's very own stable coin with a two-way peg
  • Delegated Proof-of-Stake Consensus (DPoS)
  • 10% APR inflation narrowing to 1% APR over 20 years
    • 65% of inflation to authors/curators.
    • 15% of inflation to stakeholders.
    • 10% of inflation to block producers.
    • 10% of inflation to Hive Fund.

Installation

Getting started with Hive is fairly simple. You can either choose to use pre-built docker-images, build with docker manually, or build from source directly. All steps have been documented and while many different OS are supported, the easiest one is Ubuntu 22.04 LTS.

Quickstart

Just want to get up and running quickly? We have pre-built Docker images for your convenience. More details are in our Quickstart Guide.

Building

We strongly recommend using one of the pre-built Docker images or using docker to build Hive. Both of these processes are described in the Quickstart Guide.

But if you would still like to build from source, we also have build instructions for Linux (Ubuntu LTS).

Dockerized deployment

Building a hived docker image is described here: Building under Docker

If you'd like to use our already pre-built official binary images, it's as simple as downloading it from the Dockerhub registry with only one command:

docker pull hiveio/hive

A script is available that wraps a docker run statement and emulates direct hived usage: run_hived_img.sh. This script is the recommended way to launch the hived docker container:

General usage: run_hived_img.sh <docker_img> [OPTION[=VALUE]]... [<hived_option>]...

Read more about using run_hived_img.sh in various scenarios.

CLI Wallet

We provide a basic cli wallet for interfacing with hived. The wallet is self-documented via command line help. The node you connect to via the cli wallet needs to be running the account_by_key_api, condenser_api, database_api, account_history_api, wallet_bridge_api plugins and needs to be configured to accept WebSocket connections via webserver-ws-endpoint.

The cli_wallet offers two operating modes:

  • interactive mode: commands are entered on an interactive command line
  • daemon mode: wallet commands are sent via RPC calls. In daemon mode it is important to specify which IP addresses are allowed to establish connections to the wallet's HTTP server. See --rpc-http-endpoint, --daemon, --rpc-http-allowip options for details.

To prepare transactions, you need to execute a few setup steps in the cli_wallet:

  • use set_password call to establish a password protecting your wallet from unauthorized access
  • use unlock to turn on full-operation mode in the wallet
  • import private key(s) using import_key "WIF-key" command

Keys and password are stored in the wallet.json file.

Testing

See doc/devs/testing.md for testing build targets and info on how to use lcov to check code coverage of tests.

Configuration

Config File

Run hived once to generate a data directory and a config file. The default data directory location is ~/.hived. Kill hived. If you want to modify the config to your liking, we have example config used in the docker image. All options will be present in the default config file and there may be more options that need to be changed from the docker configs (some of the options actually used in images are configured via command line).

Seed Nodes

A list of some seed nodes to get you started can be found in doc/seednodes.txt.

This same file is baked into the docker images and can be overridden by setting HIVED_SEED_NODES in the container environment at docker run time to a whitespace-delimited list of seed nodes (with port).

System Requirements

Running a Hive consensus node requires the following hardware resources:

  • data directory to hold a blockchain file(s) (~550GB of disk storage is required)
  • storage to hold a shared memory file (~30GB of memory is required at the moment to store state data)

No Support & No Warranty

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.