HoneyComb Overview and Set Up Guide

in #hive2 years ago (edited)

Introducing HoneyComb

HoneyComb for Hive

dlux.io's has long been powered by Hive, but only through a layer 2 solution could we get the features we wanted. This Layer 2 system is now ready to power community projects!

On 31/1/2022 DLUX is hard forking to "1.2a" and we'll be shaking the bugs out over the following week. At the same time our first token architecture build on HoneyComb will also be released for testing: SPK Claim Chain.

What follows will be a rundown of new features, and installation instructions.

New Features

  • Updated consensus mechanism for scaling
    • Consensus is now determined with 5 minutes worth of database instructions.
    • Additionally a chain of those instructions since the last full archive of the DB
  • Updated restarts for scaling mechanism
    • Restarts play through the DB instructions instead of relying heavily on Hive API
  • New witness promotion routine
    • Witnesses will be promoted if a future group of witnesses will have a higher collective Stake.
  • Dockerized with own IPFS dependencies
    • Docker and Docker Compose are utilized to bring easy setup to dependent and optional services.
  • Fast Replay
    • When replaying: Up to 100 Hive Blocks are queried at once.
    • This feature can not be used if your chain processes Virtual Ops.
  • Auto IPFS Swarms
    • Reporting of IPFS Node IDs allow the layer 2 to swarm a p2p service
    • Future features may be based on the IPFS PubSub communication layer.
  • Autonomous Multi-sig Account Management
    • Witnesses will now automatically update multi-signature authority.
  • Accurate Tracking of collateralized safety margins
    • The Balance of the Multi-sig Account will be monitored
  • Enforcement of safety margins
    • If the balance of the Multi-sig account exceeds collateral limits, DEX orders will be refunded
  • Added a claim routine to ease tax reporting
    • Inflation rewards and a few other things now must be claimed
  • Half of claims locked in gov or power
    • Half will go to the staked account (Goverence or PoB) of your election.
  • Opened NFT minting to all accounts
    • NFT Minting is open to all accounts.
  • Fixed DEX history
    • Fixed an error in trade history consolidation
  • Fixed DEX sell loop for expired trades
    • Fixed errors in order/depth
  • Implemented multiple hive-js node selection
    • Can now use one Hive API that provides account history(Starts and Restarts) and another without for block streaming(Use your own witness for 100% of operating API)

  • Dockerized Snapshot Portal(SPK CC)
    • Include Services to start alongside your HoneyComb
  • Token API Snapshot Crossover(SPK CC)
    • Token API Relies on Integrating or public services
  • Initial State File Build(SPK CC)
    • Working Start and Config files

Set Up Instructions

There are several fairly easy ways to run your layer 2 node.

VPS Docker

  • Prereqs
    • Hive Account with ~100 HP
    • Additional Hive Key Pair
  • (Privex) Docker Deploy
    • This will run IPFS. Ensure you select a region appropriate VPS in SWEDEN or USA
    • A Dual-Core 1GB / 25GB should be fine (Check with specific community for additional requirements)
    • Instructions for Ubuntu follow:
    • sudo apt install docker docker-compose --install dependencies
    • Download Appropriate Repository
      • DLUX -> git clone https://github.com/disregardfiat/honeycomb.git
      • SPKCC -> git clone https://github.com/3speaknetwork/honeycomb-spkcc.git
    • Change working directory
      • DLUX -> cd honeycomb
      • SPKCC -> cd honeycomb-spkcc
    • Edit your node specifics via touch .env && nano .env
      • Contents:
account="hiveaccount"
active=5JactivePrivateKey
msowner=5KadditionalPrivateKey
mspublic=STMpublickey
  • sudo docker-compose build --Build Docker environment

  • sudo docker-compose up --Deploy Docker environment

  • nginx setup

    • sudo apt install nginx certbot python3-certbot-nginx
      • Select nginx-full
    • sudo nano /etc/nginx/sites-available/default
      • Enter and save:
server{
server_name location.yourdomain.io;

        location / {
                proxy_pass http://127.0.0.1:3001;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
        }
}
  • sudo systemctl reload nginx
  • Ensure your DNS information points to your server and run sudo certbot

NodeJS (VPS or Home)- With Out Services

  • Ensure you have git and NodeJS installed
  • Download the Repository
    • DLUX -> git clone https://github.com/disregardfiat/honeycomb.git
    • SPKCC -> git clone https://github.com/3speaknetwork/honeycomb-spkcc.git
  • Change Working Directory
    • DLUX -> cd honeycomb
    • SPKCC -> cd honeycomb-spkcc
  • Run npm install
  • Edit your node specifics via touch .env && nano .env
    • Contents:
account="hiveaccount"
active=5JactivePrivateKey
msowner=5KadditionalPrivateKey
mspublic=STMpublickey
  • Run via node index.js
    • Configure PM2 or systemctl to ensure uptime:
      • npm i pm2 -g
      • pm2 start index.js --name dlux
      • pm2 save
      • pm2 startup <- generates a startup script to resume on reboot

Heroku

  • Fork the Appropriate Repo
  • Start a Hobby Container
  • Enter config variables:
    • account = hiveaccount
    • active = 5JactivePrivateKey
    • msowner = 5KadditionalPrivateKey
    • mspublic = STMbaddiationPubKey
  • Connect to your github
  • Auto Deploy your fork of the Repo
    • Maintain forks via merging future releases

Heavy Testing for 1 Week

If you are interested in running a node, Please join our discord. We can answer questions and hopefully streamline both our software and your experience!

Support HoneyComb

As always, there are a multitude of ways to support the projects. Which includes providing getting tokens, delegation to @dlux-io, building dApps, buying NFTs, running a node, voting on this post or for my witness.

What's Next?

Stay tuned for posts explaining the theory of operation. In depth feature use. How to build your own token/ecosystem... and much more.

Sort:  

I came from @taskmaster4450's video... after he mentioned Honeycomb! I wouldn't know this exist if not for him.

So glad to see movement coming to fruition.

holy cripes
This is epic
I wondered what you'd been so quiet for ;p

That‘s a lot of motion

The new features are great!

That's terrible, I'm not really into coding but I would like to run a node soon.

This looks pretty difficult but I really feel that once you made it once it's becoming pretty easy :') !PIZZA

PIZZA!

PIZZA Holders sent $PIZZA tips in this post's comments:
@ykretz.leo(3/5) tipped @disregardfiat (x1)

Learn more at https://hive.pizza.

hi there I love this proyect, i dreaming to be part, thanks so much

Even for a developer like myself, but who hasn't deeply studied what you are doing here, this is a little cryptic.. Can you give a high level overview in plane English for the features this project provides? I looked at the Github repo but am still guessing some things. Is this essentially intended to be a competitor to Hive Engine?

The intent of the project was to build infrastructure for communities and to enable them to have smart contracts. The feature provided are essentially just the ready built smart contracts that enable DLUX to run. Proof of Brain, Hive <> Token DEX, Inflation, etc. I think Hive-Engine had the same goals... and we even started near the same times.

Ok, so the system enables similar features to Hive Engine, but maybe not as advanced yet?
Is it possible to write custom smart contracts?

Yes, This is why it's a good fit for the spk claim chain. Wrote a few contracts to do their claims... while also providing a DEX.

Thanks, for sharing this guide

it is asking for private keys how could this be safe ?

Running the node software does require private keys but the instructions clearly say to use an account that has no liquid assets. Hive can provide this capability through delegated resource credits.