Giter Club home page Giter Club logo

crypto-masternode-controller's Introduction

Kalkulus Masternode Controller Box

Kalkulus logo

A guide and toolbox to setup a masternode controller VM for Kalkulus in the most convenient way.

Tools used

This setup is designed around Vagrant. Vagrant is an open source tool from the DevOps world that is often used to provision development environments automatically.

The final result

You need the following set of tools to start:

Start of the environment

The Vagrantfile in this repository contains the complete configuration of the environment. This means the definition of the Linux distribution, the networking parameter, packages to install and many things more. Check the Vagrant documentation for pointers whats possible.

Since the configuration of Vagrant and the environment to create is all part of the source (git) repository, the environment can easily be destroyed and re-created within a couple of minutes.

Clone the repo

Exactly like with any other development workflow, the initialisation of this environment is created by checking out this source code repository.

   git clone https://github.com/marsmensch/kalkulus-masternode-controller.git

One command to rule them all

In a console (for Windows use Git-Bash) open the cloned directory kalkulus-masternode-controller and execute the one and only required command to create the environment:

   vagrant up

No kidding, that's it!

What happens now is a bit of DevOps magic. After a couple of minutes, the following things happened:

  • Vagrant created and configured a virtual machine via VirtualBox
  • A couple of shell scripts installed the required packages
  • Vagrant automatically configures a couple of useful shortcuts like a shared folder in /vagrant with the host system and convenient passwordless logins via SSH Keys to the VM.
  • The Kalkulus-Qt wallet is compiled from source (or a binary release from the 'bin' directory is used
  • The official nodes are added to the configuration file at /home/vagrant/.klks/klks.conf
  • A Shortcut is placed on your desktop
    The box has 2048 MB of RAM and 2 CPU cores assigned.
    Change that in the `Vagrantfile` if you want more or less RAM/CPU.

The VM GUI window is also shown for your convenience (Vagrant normally hides it), so you can login graphically and test e.g. graphical wallets.

Connect to your VM

Connecting to your VM is as easy as run a command in a terminal / (power)shell . You need exactly one command to connect:

   vagrant ssh

For SSH connections Vagrant looks for a SSH client (ssh.exe) in your $PATH. This is already the case for OSX and Linux. On Windows you want to install Git for Windows for this.

Working with your new VM

As noted above, the included shell script vagrant_provision.sh installs all required packages and compiles + installs the Cream wallet from the git "master" branch sources.

Starting the VM

  • vagrant up -- starts or resumes the VM (also provisions only on the FIRST vagrant up)

Getting into a VM

  • vagrant ssh -- connects to machine via SSH

Stopping a VM

  • vagrant halt -- stops the vagrant machine
  • vagrant suspend -- suspends a virtual machine (remembers state)

Cleaning Up a VM

  • `vagrant destroy -- destroys the VM (ATTENTION!)

Donations

BTC donations welcome and never forget: Have fun, this is crypto after all!

BTC  33ENWZ9RCYBG7nv6ac8KxBUSuQX64Hx3x3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.