Giter Club home page Giter Club logo

guild-operators's Introduction

Guild Operators' Repository

A place for SPOs to contribute together to the Cardano Ecosystem.

Documentation / Guides

  • Stake Pool Operator site contains instructions for using various guild tools which simplify various stake-ops (setting up, managing and monitoring pools) for pool operators. Note that the guides are present to help you simplify your tasks - but as an entity responsible for creating blocks on a financial platform, we expect the pre-requisite skillsets before entering the portal:

    • Learn about working with architecture, setup and essentials (sysops);
    • Understand how to secure your server (secops);
    • Be comfortable with working with cardano-cli , and have worked on preview/preprod/guild networks for pool operations without use of wrapper scripts - as an education exercise;
    • Read the documentation and disclaimers. The guide and tools only aim to simplify your tasks, it will not try to do everything for you - neither scope best practices.
    • We recommend anyone using these instructions to use offline workflow, and NEVER have their wallet keys and pool keys to be made available to online servers, as supported by the tools.
  • Community Support FAQ & how-to guides for use within Cardano ecosystem. This documentation/FAQ contains topics such as Cardano wallets, blockchain explorers, and selecting a pool for delegation to name a few.

  • Concepts is place holder where we can accumulate educative articles explaining basic essentials of blockchain.

Support

The Telegram announcement & support channel is used to announce new releases and changes to the code base. This is also the place to ask general questions regarding the Guild Operators documentation and scripts.
Telegram Announcement & Support channel

To report bugs and issues with scripts and documentation please open a GitHub Issue.
Feature requests are best opened as a discussion thread.

guild-operators's People

Contributors

bergr01 avatar cardano-bot avatar dmitrystas avatar dostrelith678 avatar getwildr avatar gregbgithub avatar gufmar avatar hodlonaut avatar huths0lo avatar ilap avatar mark-stopka avatar matthalloran avatar mmahut avatar oldcryptogeek avatar papacarp avatar pegasuspool avatar proxiweb avatar psychomb avatar pyromaniac3010 avatar rcmorano avatar rcourtman avatar rdlrt avatar redoracle avatar reqlez avatar scitz0 avatar smaugpool avatar stakelovelace avatar straightpool avatar trevorbenson avatar willburn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

guild-operators's Issues

[CNTOOLS] Pool registration fails if largest UTXO does not have enough funds

The transaction implementation currently only uses the largest UTXO to fund a pool registration transaction. This was done out of simplicity, but eventually we should probably clean this up. Example failure:

-- Sending transaction to chain --
 -- Register Pool and Pledge on Chain --

--- Balance Check Payment Address -------------------------------------------------------
                           TxHash                                 TxIx        Lovelace
----------------------------------------------------------------------------------------
494bc78ad74afbe926344a17ce22147d923bd58b918b3d9b54b840920953d811     0         100000000
0eac44153aaee2859cc46c2c62aaa7343755ca58f1a5ca288a7f06c79ced1991     0          99980900

Total balance in 2 UTxO is 199980900 Lovelaces or 199.9809 ADA

Using UTxO with highest balance:
494bc78ad74afbe926344a17ce22147d923bd58b918b3d9b54b840920953d811     0         100000000

 -- Protocol Parameters --
TN Magic is 4001
Pool Deposit is 100000000
Current slot is 146028, setting ttl to 147028

 -- Calculate fee, new amount and remaining balance --
fee is 32700
ERROR: Not enough Lovelace in payment address (100000000 < 32700 + 100000000)
ERROR: failure during pool registration, removing newly created pledge and registration files

[CNTOOLS] Error during attempt to re-register pool

Ubuntu 20.04 LTS
cardano-cli 1.14.2 - linux-x86_64 - ghc-8.6
git rev 924a6f7d8c2bdb1bf525be8b0d5626e440697b01

Using latest version of CNTools downloaded 10 minutes ago.

I attempted to re-register a stake pool and received the following errors:

........................
-- creating registration cert --
Error reading stake verification key at: "/opt/cardano/cnode/priv/wallet/POOL/stake.vkey" Error: Deserialisation failure while decoding StakingVerificationKey.
CBOR failed with error: DeserialiseFailure 0 "expected word8"
-- Sending transaction to chain --
...........
-- Calculate fee, new amount and remaining balance --

cardano-cli: src/Cardano/CLI/Shelley/Run/Transaction.hs:215:19-43: Non-exhaustive patterns in lambda
..........................

Expected behavior would be to successfully re-register and post certificate to blockchain.

Get error when creating a stake

When I create a new stake I get the following error

option --address: cannot parse value `5821e011cafb354698259aa455826ef3e206a2ed804749abe48a77114330a9cf152063'

Usage: cardano-cli shelley query stake-address-info --address ADDRESS 
                                                    (--mainnet | 
                                                      --testnet-magic NATURAL)
  Get the current delegations and reward accounts filtered by stake address.

and the same error when I choose Wallet >> List it shows

Payment 0 ADA
Base    99999.428691 ADA
Reward  0 ADA

Instead of

Payment 100000 ADA
Base    0 ADA
Reward  0 ADA

I'm using the latest build

[CNTOOLS] Re-use update menu for updating script

Since updating cardano-node binaries can be a bit vague (version, compatibility with network, using multiple versions on system, path,etc), its best to re-use the update feature to upgrade the cntools itself.

Proposal:

  • Add Major and Minor version to script.
  • Every time a change is proposed, if the change is breaking for existing wallets or pools to be read (eg: could impact folder structure) - then increment major version, else - increment minor version.
  • Every time script is run, scan for the version on github - and if a mismatch is found:
    • If minor version mismatch, Prompt for update, restart script
    • If major version mismatch, prompt for update, then backup wallet and pool keys/files 0 then restart.

[CNTOOLS] Create pool list feature with KES expiry

When you create pools or rotate the KES it will save the most recent kes start. We should calculate the expiry and include it in a list of pools (maybe highlight it green, yellow, red if its close to expiring)

[CNTOOLS] Pool registration waiting forever for the correct balance

First: Thanks for this great repo.

Just registered a pool via an addr that had two utxo.

17c2b93c6e541c5f475779e2a2db5ea4caa26f09999285b0dfe1cc4f80dbb362 0 399499244314
cfeba634d0528b6a5c141ff03ab7dc4ddcf483e950bd6fe2cfb942e4de21708f 1 4832035

Total balance in 2 UTxO is 399504076349 Lovelaces or 399504.076349 ADA

WARN: Balance mismatch, transaction not included in latest block (399504076349 != 399499244314)

It didn't finish, because the amounts didn't match with each new block.
Calculating the mismatch it turns out that the amount missing is the second utxo.

399504076349 - 399499244314 = 4832035

So the second utxo wasn't taken in consideration for the final balance.

[CNTOOLS] Register pool metadata

  1. Accept inputs to create a JSON file $CNODE_HOME/priv/pool/${pool_name}/poolmetafile.json:

{
"ticker": "BLAH",
"name": "FOO",
"description": "FOO",
"homepage": "https://blabla.com"
}

  1. Update registration-certificate command in cntools.sh to include metadata hash and the URL:

--metadata-url https://blabla/foo/poolmetafile.json --metadata-hash $(${CCLI} shelley stake-pool metadata-hash --pool-metadata-file ${POOL_FOLDER}/${pool_name}/poolmetafile.json)

`numfmt --grouping` breaks with decimal numbers and locales that don't use a dot for monetary decimal separator

For example, with a french locale that uses , for decimal numbers:

$ env | grep LC_NUMERIC
LC_NUMERIC=fr_FR.UTF-8

$ numfmt --grouping 3000.14
numfmt: invalid suffix in input: ‘3000.14’

$ numfmt --grouping 3000,14
3 000,14

Consequently, all values that use lovelaceToADA then numfmt --grouping are broken on systems using this kind of numeric format. For example, for Pool -> Show, I get:

POOL 
ID                    : 7607d58f4ff02f4de24cb45984efab063e64cb1d6d6ce00807d69962
Pledge                : 50 000 ADA
numfmt: invalid suffix in input: ‘7.5’
Margin                :  %
Cost                  : 256 ADA

I'm not sure how to fix this properly, one solution is to let numfmt do the conversion from Lovelaces to ADA, for example:

$ numfmt --format "%'.6f" --to-unit=M 1000000000000
1 000 000,000000

The difference with current method is that numbers would always have 6 decimals (the exact number of lovelaces).

[CNTOOLS] - Should registerStakeWallet be a seperate menu?

As the topic says, just to have a discussion about whether we should have registerStakeWallet calls as a seperate call.

Preface assumptions:

  • Network was changed
  • Keys remain compatible (valid) , address hashing remains same too

For Pools keys:
If a pool was previously registered on old network , and not on new network... pool will be registered again by recreating/registering new keys
So that part is good

For Stake key used by Pool:
Currently cntools checks if there's a staking wallet address, before you can register pool...But we do not (might be difficult) check if staking address is registered..

Proposal:

  1. Wallet -> New creates both payment and stake keys, a new task to register wallet is added. This aligns with Pool creation, and as long as inputs are valid keys , Key/Pool Registration can be executed multiple times.
  2. Wallet -> New creates both payment and stake keys, then the registration task can be called in corresponding target (eg: Register Pool)
  3. When doing Wallet -> New -> Stake, we just create keys, not register them. When Registering pool/delegating, we register the existing stake keys
  4. Counter argument being we should encourage people to create new wallets every time network changes.

[CNTOOLS] all pools get deleted if you enter a blank pool name

I just had all my pool folders get deleted when I went to create a new pool and then abandoned. I was unable to exit the command. I think we should detect a blank pool name and just exit rather than continuing to create the pool and asking for a password.

I suspect this area is deleting all pool entries:

trap 'rm -rf ${POOL_FOLDER:?}/${pool_name}' INT TERM

rm -rf "${POOL_FOLDER:?}/${pool_name}"

Wallets might have a similar issue

prereqs.sh on CentOS server

Experienced the following error when re-running on a CentOS 8 server.
Resolved by removing 'coreutils-single' package from line 118.

[matthijs@build tmp]$ ./prereqs.sh
Using yum to prepare packages for "CentOS Linux" system
Updating system packages...
Installing missing prerequisite packages, if any..
Error:
Problem: problem with installed package coreutils-8.30-7.el8_2.1.x86_64

  • package coreutils-8.30-7.el8_2.1.x86_64 conflicts with coreutils-single provided by coreutils-single-8.30-7.el8_2.1.x86_64
  • conflicting requests
    An error occurred while installing the prerequisite packages, please investigate by using the command below:
    sudo yum -y install coreutils-single python3 pkgconfig libffi-devel gmp-devel openssl-devel ncurses-libs ncurses-compat-libs systemd systemd-devel zlib-devel npm yarn make gcc-c++ tmux git wget epel-release jq gnupg
    It would be best if you could submit an issue at https://github.com/cardano-community/guild-operators with the details to tackle in future, as some errors may be due to external/already present dependencies
    [matthijs@build tmp]$

[CNTOOLS] Shortcut menu navigation

New keyboard select menu navigation lacks shortcut navigation.

Initial thoughts would be to prefix menu options with a shortcut key like '(x) menu_option' where x is the shortcut key for that specific menu option. For main menu it could look something like this:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Main Menu

 ) Update  -  install or upgrade latest available binary of Haskell Cardano
 ) Wallet  -  create, show, remove and protect wallets
 ) Funds   -  send and delegate ADA
 ) Pool    -  pool creation and management
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 What would you like to do?
  
  (w) Wallet
  (f) Funds
  (p) Pool
  (u) Update
  (q) Quit

[CNTOOLS] Save vkey delegation with name

If pool cold vkey cbor-hex is used in funds >> delegate save it to be able to delegate using just a name and for display in wallet listing.

A json file with 'vkey cbor'/'pool name' array stored in POOL_FOLDER could be a solution.

[CNTOOLS] Pool Registration issue

With the cntools script the pool is created with all the default values.

The core node is running with all the certs.

When I want to register the pool I have this error:

-- Calculate fee, new amount and remaining balance --
Error reading shelley certificate at: "/opt/cardano/cnode/priv/pool/PoolJayHTN/pool.cert" Error: /opt/cardano/cnode/priv/pool/PoolJayHTN/pool.cert: /opt/cardano/cnode/priv/pool/PoolJayHTN/pool.cert: openBinaryFile: does not exist (No such file or directory)

I do not see any file /pool.cert in the directory :

/opt/cardano/cnode/priv/pool/PoolJayHTN/

Still having trouble with BlockCollector Script

Yes, my config file is in json. So, prior fix should have worked. However, I still get error:

/opt/cardano/cnode/scripts : ./cntoolsBlockCollector.sh
/opt/cardano/cnode/logs/node0.json (this is the correct log location)
Error: Failed to locate json logfile in node configuration file
a setupScribe of format ScJson with extension .json expected
/opt/cardano/cnode/scripts :

Perhaps I have error in my config file, but node is working fine and log file contains log information.

Here is my setupScribes section in config file:

"setupScribes": [
{
"scFormat": "ScText",
"scKind": "StdoutSK",
"scName": "stdout",
"scRotation": null
},
{
"scKind": "FileSK",
"scName": "/opt/cardano/cnode/logs/node0.json",
"scFormat": "ScJson",
"scRotation": null
}
]

Here is my defaultScribes section in config file:

"defaultScribes": [
[
"StdoutSK",
"stdout"
],
[
"FileSK",
"/opt/cardano/cnode/logs/node0.json"
]
],

Update to Env file Requested

Could you please add an entry for the logfile that is used by the Block Collector script in the env template? I have created the json log in the config file but the Block Collecting script is looking for the location in the environment file and I don't see an entry that contains the syntax that the script is looking for to locate the json log.

Consistency of Socket Path for Multiple Modules

The instructions for starting cardano-wallet are as follows:

cardano-wallet-byron serve --node-socket $CNODE_HOME/sockets/pbft_node.socket --testnet $CNODE_HOME/files/genesis.json --database $CNODE_HOME/priv/wallet

the socket is called "pbft_node.socket"

However, the instructions for starting cardano-node as a passive node are as follows:

CNODE_HOME=/opt/cardano/cnode
cardano-node run
--config $CNODE_HOME/files/ptn0.yaml
--database-path $CNODE_HOME/db
--host-addr $(curl ifconfig.me)
--port 9000
--socket-path $CNODE_HOME/sockets/0
--topology $CNODE_HOME/files/topology.json

Here, the socket path is just "0" Shouldn't these two sockets be the same for communication between the wallet and the node?

[CNTOOLS] Add undelegate option

It's not that common to want to undelegate but the option to do so should be there.
ie cardano-cli shelley stake-address de-register ...

Create New KeyVault Fails

After running ./cnKeyVault.sh create and entering a password the output is:

Creating key vault directory to encrypt:

mkdir: cannot create directory ‘’: No such file or directory

Error: failed to create encrypted vault for key storage


[CNTOOLS] Error during attempt to rotate pool keys

Ubuntu 20.04 LTS
cardano-cli 1.14.2 - linux-x86_64 - ghc-8.6
git rev 924a6f7d8c2bdb1bf525be8b0d5626e440697b01

Using latest version of CNTools downloaded in last 30 minutes.

I attempted to rotate the keys for a stake pool and received the following error:

.........................................................
/opt/cardano/cnode/priv/pool/POOL/cold.counter: TextView decode error: DecoderErrorDeserialiseFailure "OperationalCertificateIssueCounter" (DeserialiseFailure 0 "expected integer")
........................................................

Nonetheless, script completed key rotation and pool restarted with new keys without issue. Expected behavior is successful rotation without the error message.

[CNTOOLS] Listing undelegated wallet causes non-fatal error

If I try to use cntools script to list wallets and one of them is not delegated to a pool, I get the following error:

./cntools.sh: line 409: [: 7c31dfd057(truncated): unary operator expected

The undelegated wallet does have a base address with funds in it.

Create Stake-Address fails

When upgrading a payment wallet to a staking-wallet with cntools.sh the source address balance check fails erroneously.

--- Balance Check Source Address -------------------------------------------------------

Total balance in 0 UTxO is 0 Lovelaces or 0 ADA

Error: Balance missmatch, transaction not included in latest block (0 != 999,998,192,342)
log

Waiting for new block to be created (timeout = 200 slots, 200s)
Cancel balance check at any time by pressing Ctrl+C, Command+C

[CNTOOLS] Add changelog

Add a changelog.md for CNTools that describe what's fixed and what's new for each release.
This markdown file can then be referenced from within CNTools when there is a new version available.

Switch Setup scripts and doco to public testnet

Currently, the scripts and documentations set up to connect to guild network, and then we have an optional step to change to public Haskell testnet.

We would want to switch this to other way around in future.

This is intentionally not done yet, as intention of guild network is to test things against master branch, which may include breaking changes (eg: CLI formats), which would make script incompatible with public testnet.

Once CLI changes are reduced (can be monitored via projects in cardano-node), we would want to swap network to default to public testnet instead.

[CNTOOLS] ./cntools.sh: line 2205: 6.50004e+10: syntax error: invalid arithmetic operator (error token is ".50004e+10")

CNTools 1.2
cardano-cli 1.14.2 - linux-x86_64 - ghc-8.6
git rev 924a6f7d8c2bdb1bf525be8b0d5626e440697b01
genesis.json "systemStart": "2020-06-28T21:00:00Z",

Steps:

  1. Open CNTOOLS
  2. Go to Pools
  3. Go to Show
  4. Select a Pool

Observed:
The following error is displayed:
./cntools.sh: line 2205: 6.50004e+10: syntax error: invalid arithmetic operator (error token is ".50004e+10")

Expected:
The pool information it's shown correctly.

prereqs.sh needs to handle npm dependency and updates better

While trying to set up guild operators cnode setup for Haskell node on a new ubuntu box ran into the following error:

sudo apt-get -y install python3 build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev systemd libsystemd-dev zlib1g-dev npm yarn make g++ tmux git jq wget libncursesw5 gnupg
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
make is already the newest version (4.1-9.1ubuntu1).
make set to manually installed.
pkg-config is already the newest version (0.29.1-0ubuntu2).
jq is already the newest version (1.5+dfsg-2).
g++ is already the newest version (4:7.4.0-1ubuntu2.3).
g++ set to manually installed.
git is already the newest version (1:2.17.1-1ubuntu0.7).
gnupg is already the newest version (2.2.4-1ubuntu1.2).
libncursesw5 is already the newest version (6.1-1ubuntu1.18.04).
python3 is already the newest version (3.6.7-1~18.04).
tmux is already the newest version (2.6-3ubuntu0.2).
wget is already the newest version (1.19.4-1ubuntu2.2).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
npm : Depends: node-gyp (>= 0.10.9) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

npm is apparently required by graphql

For the time being commented out npm from the list of dependencies and progress further. Raising a github issue as requested by Priyank

Prereq.sh Fails on Ubuntu 18.04 LTS

I am attempting a new cardano-node installation using ubuntu 18.04 LTS

execution of prereqs.sh script fails with following output:

Using apt to prepare packages for "Ubuntu" system
Updating system packages...
Warning: apt-key output should not be parsed (stdout is not a terminal)
Installing missing prerequisite packages, if any..
E: Unable to correct problems, you have held broken packages.
An error occurred while installing the prerequisite packages, please investigate by using the command below:
sudo apt-get -y install python3 build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev systemd libsystemd-dev zlib1g-dev npm yarn make g++ tmux git jq wget libncursesw5 gnupg
It would be best if you could submit an issue at https://github.com/cardano-community/guild-operators with the details to tackle in future, as some errors may be due to external/already present dependencies

So, I ran the suggested command:

sudo apt-get -y install python3 build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev systemd libsystemd-dev zlib1g-dev npm yarn make g++ tmux git jq wget libncursesw5 gnupg

Here is the output from this command:

Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
make is already the newest version (4.1-9.1ubuntu1).
make set to manually installed.
pkg-config is already the newest version (0.29.1-0ubuntu2).
jq is already the newest version (1.5+dfsg-2).
npm is already the newest version (3.5.2-0ubuntu4).
g++ is already the newest version (4:7.4.0-1ubuntu2.3).
g++ set to manually installed.
git is already the newest version (1:2.17.1-1ubuntu0.7).
git set to manually installed.
gnupg is already the newest version (2.2.4-1ubuntu1.2).
gnupg set to manually installed.
libncursesw5 is already the newest version (6.1-1ubuntu1.18.04).
libncursesw5 set to manually installed.
python3 is already the newest version (3.6.7-1~18.04).
python3 set to manually installed.
systemd is already the newest version (237-3ubuntu10.41).
systemd set to manually installed.
tmux is already the newest version (2.6-3ubuntu0.2).
tmux set to manually installed.
wget is already the newest version (1.19.4-1ubuntu2.2).
wget set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
npm : Depends: node-gyp (>= 0.10.9) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Can you please advise on how to proceed with installation?

[CNTOOLS] Quick jump in selection menu

Add ability to quickly jump in the selection menu based on the first character. Handy for those with large lists of wallets for example.

Shortcut selection would have prio one. If there is no shortcut key for that letter jump to the first entry in the list that has this character as the first letter in the name.

CNTOOLS: FUNDS -> SEND broken for staking wallet

Have created new payment wallet - then upgraded to staking wallet with 400,000 in payment address, 99,000 in base address.

If I try sending from payment address more than 99,000 anywhere it complains saying > 99,000

If I try sending from payment address less than 99,000 - it seems to send funds from base address instead

Also while testing this noticed that 'all' stopped working for fund sending amount:

Amount (ADA): all

numfmt: invalid number: ‘all’

There's also some strange issue where payment-only wallet shows up as payment-only in the WALLETS -> LIST page (which is good/expected) but when I try to do FUNDS -> SEND and specify that wallet, it shows both Payment and Base balance values - even though there wasn't meant to be any base address associated with it...

Correction to Issue Delegation Certificate code for Setup Passive Node

This applies to the file: Setup-Passive-Member.md

Sub-heading says "Create singing and verifying keys" should be signing, not singing.

Also, code for Create certificates should be:
cardano-cli issue-delegation-certificate \
--config $CNODE_HOME/files/ptn0.yaml
--since-epoch <?>
--secret $CNODE_HOME/priv/pbft0p.key
--delegate-key $CNODE_HOME/priv/pbft0p.vfk
--certificate $CNODE_HOME/files/pbft0p.json

[CNTOOLS] Ability to delegate to a pool that is not your own

Just noting a few things here that need cleaning up. I'll add to this as I find more

  • Ctrl-C does not get you out of waitNewBlockCreated
  • Payment from or to staking wallet should allow selection of payment address or staking address
  • Need ability to delegate to a pool that is not your own (by pool id)
  • New pool creation needs to set KES period correctly rather than always 0

[CNTOOLS] Documentation with flow

We prolly need to draw up a basic workflow of operations before we share this further.
Markdown format allows flowcharts using mermaid , so perhaps if we could whip a very simple workflow of operations.

Prolly important to not be too detailed, as this would be part of shorter path for users, but still a basic flow on how to go through the steps wrt cntools (create wallet, upgrade, receive funds, create pool, register pool, delegate) would prolly save a bunch of writing and reading 😄 - from end user's view

[CNTOOLS] Filter wallet / pool selection menus

Ability to filter wallet and pool selection menus would help the end-user to pick a valid selection to not have it fail in a later stage for action selected.

Ie do not show pools to register that are already registered on-chain or do not show wallets as a source if they don't have any funds available etc.

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.