Set Up SPK Claim Chain Node

in HiveDevs6 months ago (edited)

▶️ Watch on 3Speak


Craddle To Grave

This is real time full install. From ordering a privex server, to installing dependencies, the Repository, building docker images, DNS setup, SSL via certbot, running a update/hardfork, and verifying operation. With a lot of additional information in the wait times.

Join us on Discord for help

Time Stamps

  • 0:30 Gerating a new Hive key pair

  • 1:50 Ordering a PrivEx Server

  • 3:20 Generate ssh keypair

    • ssh-keygen
  • 5:07 Brief introduction to Honeycomb Configuration (skipable)

  • 10:30 Wallet Software Preview with Larynx Claim

  • 11:59 Privex Server Ready - Log In

  • 17:37 Installing Dependencies (Skip to here for BYO Server)

    • sudo apt install docker docker-compose
  • 15:30 More Network overview while waiting for software.

  • 20:00 Cloning the SPK HoneyComb repository (Skip to here for BYO Server)

    • git clone https://github.com/3speaknetwork/honeycomb-spkcc.git
    • cd honeycomb-spkcc
    • sudo docker-compose build
  • 21:15 Continuing Network overview to kill time durring software build

  • 24:55 Installing NGINX and Certbot. Configuring DNS(not shown)

    • sudo apt install nginx certbot python3-certbot-nginx
    • sudo nano /etc/nginx/sites-availible/default
    • Modify server_name _; to server_name api.yourdomain.com;
    • sudo nginx -t sudo systemctl reload nginx
    • sudo certbot
  • 32:15 Writing the .env file (Skip to here for BYO Server)

    • nano .env
    •  account="hiveaccount"
       active=5JactivePrivateKey
       msowner=5KadditionalPrivateKey
       mspublic=STMpublickey
       domain=https://api.yourdomain.com
      
    • Optionally discordwebhook=https://discordapp.com/api/webhooks/NUMB3RS/KeYs to stream the feed into a discord channel
  • 35:00 Finalize NGINX setup - proxy pass

    •  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;
         }
      
      
  • 36:55 Run Honeycomb (Skip to here for BYO Server)

    • sudo docker-compose up
  • 38:42 Updating HoneyComb - HardForks (Skip to here for BYO Server)

    • git pull
    • sudo docker-compose down
    • sudo docker-compose build
    • sudo docker-compose up
  • 42:30 RealTime - Verifying Success (Skip to here for BYO Server)

Not Covered: Making a dedicated Hive Account. Delegating 100 HP to this account. Configuring server to disallow password login. Join us on Discord for help

Consider @disregardfiat for Witness :)


▶️ 3Speak

Sort:  

Thanks for recommending us! :)

Thank's for supporting Hive!

What is the purpose of running your own Claim node?

A) Verify Claims
B) Enable a multi-signature DEX so there can be a market for Larynx.
C) Dex Fees will be shared between claim nodes
D) Who knows what the future will bring, but for now that's it.

But don't you get that by accessing their node?
Are you planning on integrating into their network or just running one to have your own?

To be honest I'm not entirely sure what the snapshot code is doing. I know it was built to integrate into peerplays but due to some complications over the holidays the 3speak team wanted to run the claim on hive. My hope is that several nodes running what should be an identical snapshot will act as an oracle when called by several nodes in this network that also runs a dex. To that end we're only running the verification code to my knowledge and not the ppy databasing... I'm aware of calls made to hiveAPIs in the snapshot code; feel free to drop into our discord and help us verify things. I've only been at building this for 2 weeks, and only got working snapshot code 2 days ago.

Good question

What is a spk claim chain node?
What are required server specification?

The people behind 3speak.tv are building a decentralized network to handle the infrastructure needs of a video platform. From encoding and storing videos, to the algorithms that order content. Part of their roadmap is an airdrop of the tokens needed to build out the large network. the SPeaK Claim Chain is a decentralized, Hive Only, network that will verify snapshot amounts, store balances, and provide a DEX to trade your claimed tokens for Hive. This is everybody's invitation to take part in that network.

I think a 2 core, 1GB RAM, 25 SSD should be sufficient.

Thank you, ah ok, i have problem remember Names, now i now again what spk is ;)

Currently i have to wait, i am a new Blurtwitness, maybe if that works fine this could be also something for me.

I am not so firm, maybe both would work on one server?
Cpu, ram and space could be enough

Should be fine. the snap part seems like an API calculator as used, IPFS is for DB backups, and the node part is the block processor. It runs at least 30X faster than real time so I don't see any bottlenecks at this time worthy of upping the requirements.

very good guide :)

So, Modify server_name _; to server_name api.yourdomain.com;

I should prepare a Domain for that right? Need to book a new one for sure.

Not really sure, http://spkccapi.manninote.com/ <-- is that working properly?

It kinda looks like... https://spkccapi.manninote.com/markets

I should force redirect everything to HTTPS maybe?

Forced redirects can't hurt. Looks like your API is set up and your node is running correctly.

Very good2know, I should tackle running a DLUX Note next. It's very similar ain't it?

This seems to be where I am stuck. I am following the video setup verbatim.
Can I get a little clarification on what to do for this step?

I definitely don't understand anything about the technological stuff, but I'm glad that SPK is coming along nice!

Thanks for the awesome guide, checking it now, I think I'll get busy tomorrow and set up a Claim node, or is it too late? I just found all this 😅 Is there any time limit to get the node running? Am I thinking correctly that this is going to be running for the duration of the Claim (a year time if I remember correctly) and then there will be no utility anymore in having them live, correct?
Sorry for the many questions and if some of those may sound silly, I honestly just found all this now and I haven't started yet to read and get on track about everything, I've got a day off tomorrow and I was thinking to dedicate it to this, I wanted to chill out tonight but then I found this and now it's like 2-3 hours that I'm deep down reading about this and watching your video lol I got some problems man, finished a 7 hour shift at my IT job and got back home to do more IT shit 🤣 At least here at home I can smoke a joint while I do so ahahaha

I've been thinking to participate in the SPK network and to run a node when it will be possible, for the meantime I guess I can take this as a great opportunity to get familiarity with the process (I guess it will be somewhat similar) and as an IT weirdo I like messing around with Linux, hope to be successful and not to get a kernel panic in the process 🤣

I've just joined on Discord both D.Lux and 3Speak, I was already in SPK Network, I do not see much going on in the latter and I was struggling to find any additional information about the current state of things.
Which of those places would you advice me to go and look for help in case I incur in some sort of issue?

Big up for the super work you're doing for this blockchain! I'm a fairly new member and slowly I'm trying to catch up on all the many things going on here on Hive! Cheers 💪

I went to double check if I'm voting you as a witness and I'm glad to see that I do indeed! 😎 And now I follow you too

We're still testing the claim chain so there's time to dive in... it will always be open for new nodes as well. Welcome to the party.

Super, thanks :)

It's unclear to me what this is?

mspublic=STMpublickey

Also, for those running byos, you need to have the .env populated before running docker-compose.

How many claim nodes are they trying to get running?

It's a little more complex than a number. The biggest reason to have claim nodes is the operators can participate in a multi-signature account that is a DEX. Which means the best outcome is to have nodes collectively with enough collateral to cover the incoming market depth.

Thanks for making a detailed post, I guess this was misspelled with availible

sudo nano /etc/nginx/sites-availible/default

I wish I found out early so I may save up quite some time, lol. By the way great work @disregardfiat

All this really seem strange and I really wanna ask a few questions.

1, DO we all need to do this to claim the airdrop?

  1. Can this be done from any part in the world?

  2. Can it be more simplified for Non coding Hivers if it is so necessary.

Thanks

No, any individual should only have to click a button on 3speak.tv. This is what will read the button though.

Hi the sudo apt docker install currently fails to load at step 5 any fixes?!?

Cheers!

Make sure you are writing sudo apt install docker

i AM...

Step 5/8 : COPY ["./.env", "./config.js", "./dao.js", "./discord.js", "./docker-start.js", "./edb.js", "./enforce.js", "./getPathObj.js", "./helpers.js", "./hive.js", "./index.js", "./ipfsSaveState.js", "./lil_ops.js", "./msa.js", "./pathwise.js", "./processor.js", "./report.js", "./rtrades.js", "./state.js", "./tally.js", "./voter.js", "./"]
ERROR: Service 'honeycomb' failed to build: COPY failed: file not found in build context or excluded by .dockerignore: stat .env: file does not exist
ubuntu @ revisespk [ ~/honeycomb-spkcc ] $

32:15 Writing the .env file (Skip to here for BYO Server)

nano .env

account="hiveaccount"
active=5JactivePrivateKey
msowner=5KadditionalPrivateKey
mspublic=STMpublickey
domain=https://api.yourdomain.com```

Oh so I just carry on with the later steps of the install even though the previous ones haven't finished and it should all be fine?

(Apologies I have never done anything like this before BTW!)

With the last line...?

How do I know what my domain name is?

I've no idea what this is sorry, thanks for any help!

(EDIT 30 MINS LATER....)

OH I think i figured it out, I have to specify it in a previous step, but i can't seem to be able to do that like it is in the video, I dropped details in the DLUX Discord, cheers!