Version 0.4.2 of the bts_tools released

in #witness-category8 years ago

The main focus of this release, apart from a boatload of minor bug fixes, is the introduction of a deploy script which I have been working on for quite a bit of time. The idea is to have a generic script (focus on generic) which allows you to setup a new VPS instance and fully and properly configure it with the steem client running, alongside with the bts_tools to monitor them behind nginx/uwsgi, automatic client restarting in case of crash, etc.

At the moment, this supports Vultr and Gandi as VPS providers, and Debian Jessie and Ubuntu 16.04 as operating systems [1]. Eventually, I plan to support more providers and OSes, please see my bounties post for more info and if you want to contribute (and win some Steem!)

Show me how it works!

Here's a minimal config file you can use to deploy a seed node from scratch: [2]

hostname: &hostname seed01
domain: steemnodes.com

os: ubuntu   # debian, ubuntu. more to come...

unix_hostname: *hostname
unix_user: xxxxxxxx
unix_password: xxxxxxxx

# if true, the graphene client will be built directly on the new node,
# otherwise it gets deployed from the host currently running the install
compile_on_new_host: True

# additional keys to be installed in .ssh/authorized_keys for both root and normal user
ssh_keys:
- ssh-rsa xxxxxxxx
- ssh-rsa xxxxxxxx

# access to witness restricted APIs, used to create api_access.json
witness_api_access:
    user: &witness_user bts
    password: &witness_password xxxxxxxx

# config.yaml variables
config_yaml:
    make_args: ['-j4']

    build_environments:
        steem:
            cmake_args: ['-DENABLE_CONTENT_PATCHING=OFF', '-DLOW_MEMORY_NODE=ON']

    clients:
        steem:
            data_dir: ~/.Steem_seed
            run_cli_args: ['--rpc-http-allowip', '127.0.0.1']
            seed_nodes: ['seed.riversteem.com:2001', 'seed.steemed.net:2001', 'steem-seed1.abit-more.com:2001',
                         'steem-id.altexplorer.xyz:2001', 'anyx.co:2001']
            witness_user: *witness_user
            witness_password: *witness_password
            roles:
            -
                role: seed
                name: *hostname

vps:
    # config for vultr provider
    vultr:
        api_key: xxxxxxxx
        name: *hostname
        location: london
        vps_plan: 8G     # can be: 1G, 2G, 4G, etc.
        ssh_keys: [xxxxxxxx, xxxxxxxx]  # need to have at least the ssh key from the host performing the installation

save this as deploy_config.yaml, then run:

$ steem deploy_node deploy_config.yaml vultr

to create and install the new instance. If you already have created a VPS instance (because you want to host it somewhere else, for instance), then you can run:

$ steem deploy_node deploy_config.yaml 123.123.123.123

(replace 123.123.123.123 with the IP address of your node, make sure to have ssh access as root there)

Please note that it's still alpha/beta quality, so feedback is very welcome!

Changelog

Full changelog follows:

0.4.2 (2016-08-09)

  • [all] pre-release of "bts deploy_node" command: complete setup of a
    fresh VPS node, with bts/muse/steem client, nginx/uwsgi,
    supervisor, etc.
  • [all] added view for seed nodes of BTS, MUSE and STEEM networks
  • [all] added world map view of connected peers and seed nodes along with
    country detection (requires geoip2 account)
  • [bts] added ARS (Argentine peso) market pegged asset
  • [bts] reactivated GOLD and SILVER (Yahoo issue only temporary)
  • [bts] removed Yunbi and CCEDK as feed providers for BTS/BTC
  • [all] internal cleanups and refactoring, innumerable minor bug fixes

Footnotes

[1] Currently Ubuntu deploy on Gandi doesn't work due to some issue with the boost package version, probably some issue with the mirrors that I couldn't figure out yet, but as this already delayed the release by more than a few days I decided to fix it in a later release

[2] A full config file with all possible options can be found here: https://github.com/wackou/bts_tools/blob/master/bts_tools/deploy_config.yaml

Sort:  

this programing it's about the steemit cryptocurrency?
well i hope you reply
i follow you anyway y friend

I'm new to ask this so really not sure what's going on but hope you achieve whatever your trying to achieve

you're right, I guess a little intro could have been useful :) So the bts_tools are meant to help people run steem clients (the blockchain behind steemit), here's an example of what they do: https://seed.steemnodes.com/. Main documentation can be found here: https://bts-tools.readthedocs.io/

Thanks for the info on bts_tools - bookmarking. $b.witness $b.tools $b.development $b.steemdev

great post ......... is there any bugs exist @ steemit ?

This is not directly related to steemit (the website), but more to steem (the underlying blockchain). See https://bts-tools.readthedocs.io/

Thank you for sharing!

PS: Of course I would be really happy about your visit at my blog too ;)

@wackou Hey i wanna persnally thank you for your recent support with upvotes. If theres any way i can help/ promote anything your doing please let me know your continued support is appreciated!

good luck ♥♥♥

Hi true steemit friends wherever located.
I have seen your blog and it is very interesting, my goal is to have more friends who can help each other. Because I'm new in steemit.
Please enlighten and input for steemit progress.
Thanks vote, follow & resteem me.

New innovation always bring new improvement. For the better of steemit transactions

thank you for useful post.