Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-699

[FIO-629] : Core Infrastructure - FIO Issue Tracking (atlassian.net)

FIO mSig Acct Payment Requests

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-482740

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-587

FIO Explorers/Monitors

FIO TestNet Network Monitor

FIO MainNet Network Monitor (fioprotocol.io)

FIO Tools (blockpane.com)

EOS Tools and Info - Aloha EOS

FIO MainNet Health

FIO MainNet Block Explorer and Wallet

FIO TestNet Block Explorer and Wallet

FIO Tools

Several tools have been built and are still in use by the FIO Protocol, i.e., cryptonym, devnet, and fiotop.

Blockpane Repo (cryptonym, fiowatch, fiotop)

CryptoLions/MSIG_console_manager

See the following repos for more info;

Cryptonym Notes:

Default config

  • key: FIO6G9pXXM92Gy5eMwNquGULoCj3ZStwPLPdEb9mVXyEHqWN7HSuA

  • max_fee: 23.926127683

  • actor: o2ouxipw2rt4

  • tpid: tpid@blockpane

mSig Info

https://dev.fio.net/docs/command-line-interface

https://dev.fio.net/docs/multisig

Eric Butz, [7/25/2023 10:40 AM]
I used Cryptolion's MSIG tool and it was fairly straightforward. The main complexity is with creating contract updates.

https://github.com/CryptoLions/MSIG_console_manager/tree/FIO

https://msig.app/fio

I can see if I have some examples on my local machine using these scripts.

Eric Butz, [7/25/2023 10:48 AM]
Some helpful notes for getting this working:

To get it to connect to the local wallet I had to run:

pkill fio-wallet
./fio-wallet --http-server-address=127.0.0.1:8900 &

NOTE! make sure there is a carriage return after the last action in actions_list

Eric Butz, [7/25/2023 10:48 AM]
Some examples that might go into 1_actions_list:

./clio.sh push action fio.fee createfee '{"end_point":"wrap_fio_tokens","type":"0","suf_amount":"2000000000"}' -p fio.fee@active

./clio.sh push action fio.oracle regoracle '{"oracle_actor":"gws1hlwlqhq1","actor":"eosio"}' -p eosio@active

./clio.sh push action fio.address regaddress '{"fio_address": "msig1@fiotestnet", "owner_fio_public_key": "FIO7LHcsCJjhywzAvELwdpZnynbELiua8SFjaXx4hu7Fuy3r8P9FC", "max_fee": 40000000000, "actor": "1sjb4apbznnx", "tpid": ""}' -p 1sjb4apbznnx@active

./clio.sh push action fio.oracle regoracle '{"oracle_actor":"mak1ed5b4k1v","actor":"eosio"}' -p eosio@active
./clio.sh push action fio.oracle regoracle '{"oracle_actor":"jnmwi5vu3hle","actor":"eosio"}' -p eosio@active
./clio.sh push action fio.oracle regoracle '{"oracle_actor":"hkzfdcxe11us","actor":"eosio"}' -p eosio@active

./clio.sh push action eosio unregprod '{"fio_address":"zenblocks@fiotestnet","actor":"eosio","max_fee":5000000000}' -p eosio@active

To create a new account

Eric Butz, [3/3/2022 3:02 PM]
@eluzgin the clio code for creating the new account was incorrect in the file I gave you. Bohdan gave me the correct command and created the newsys.b msig. For future reference, this is correct way to add a new account via msig.

Code Block
First create the file newaccount_payload.json 

{
   "creator": "eosio",
   "name": "fio.escrow",
   "owner": {
      "threshold": 1,
      "keys": [],
      "accounts": [{
         "permission": {"actor": "eosio", "permission": "active"},
         "weight": 1
      }],
      "waits": []
   },
   "active": {
      "threshold": 1,
      "keys": [],
      "accounts": [{
         "permission": {"actor": "eosio", "permission": "active"},
         "weight": 1
      },
      {
         "permission": {"actor": "fio.escrow", "permission": "eosio.code"},
         "weight": 1
      }],
      "waits": []
   }
}

Eric Butz, [3/3/2022 3:02 PM]
Then use the following clio:

./clio.sh push action -j -s -d eosio newaccount newaccount_payload.json -p eosio@active

Telegram discussion: https://t.me/fiotestnetb/10248

you can always check your msigs with cleos:

Code Block
./cleos.sh multisig review ...

or check tables using the CryptoLions table query tool

Cleos mSig commands;

Code Block
/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com multisig review nyvrxkxhiyql token.2n.c1

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com multisig approve nyvrxkxhiyql token.2n.c1 '{"actor":"nyvrxkxhiyql","permission":"active"}' 241873769

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com multisig cancel nyvrxkxhiyql fiosys.2n.c1 241873769 nyvrxkxhiyql

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com get table -l -1 eosio.msig nyvrxkxhiyql approvals2

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com get table -l -1 eosio.msig nyvrxkxhiyql approvals2 | grep proposal_name

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com get table -l -1 eosio.msig nyvrxkxhiyql approvals2 | grep proposal_name | grep c1 | wc -l

...

To verify fees; use Postman, create GET action, endpoint: http://fiotestnet.blockpane.com/v1/chain/get_fee, with json body of
{     "end_point": "update_encrypt_key"

}

Some fees require a fio_address, i.e. jasonbourne@fioprotocol

BP Tips

FIO | Sw/eden APT (eosswedenorg.github.io)

FIO App Notes

fio-bundles

Code Block
#!/bin/bash

# Cmd line arg Usage
#go run cmd/bundles/main.go -d "postgres://registration:O40pWHb40mmdcNbNPUGtg2aIh3qSUX@reg-uat.cluster-cnxphxkusylu.us-west-2.rds.amazonaws.com:5432/registration" -k  "5JrWpJtuPyeXuFzhsAWYSyiT2gCZMR1d8ZdMPFhMkrkYE5NTvn7" -u "https://fiotestnet.blockpane.com" -v

# ENV parameter usage
export DB="postgres://registration:O40pWHb40mmdcNbNPUGtg2aIh3qSUX@reg-uat.cluster-cnxphxkusylu.us-west-2.rds.amazonaws.com:5432/registration"
export NODEOS_API_URL="https://fiotestnet.blockpane.com"
export WIF="5JrWpJtuPyeXuFzhsAWYSyiT2gCZMR1d8ZdMPFhMkrkYE5NTvn7"
go run cmd/bundles/main.go -v

Building the DevNet tool

Clone the dapixio DevNet repo located at dapixio/fio-devnet: devnet remote node management tool (github.com).

As this is a private repo, you will need to be granted access as well as have either a GitHub Personal Access Token or other means of ‘cloning’ the repo. If using an access token, the clone url is as follows:

git clone https://<Personal Access Token>@github.com/dapixio/fio-devnet.git

Refer to git - Clone A Private Repository (Github) - Stack Overflow for guidance.

Once the repo is cloned, cd to the fio-devnet/cmd/devnet and execute the cmd, 'go build'. This will build the devnet executable.

These steps were performed on a machine with all the necessary dependencies, i.e. go, c/c++ compiler.

Install/Configure/Run pgAdmin4 against RDS

See https://www.pgadmin.org/download/pgadmin-4-apt/ for installation instructions

Access to the RDS is via a bridge, i.e. the Bastion instances are the bridge for access to the registration databases. See https://aws.amazon.com/blogs/database/accessing-an-amazon-rds-instance-remotely-using-aws-client-vpn/ for overview.

  1. Contact DevOps group and request access to the RDS instances

    1. Provide specific instance names

    2. For registration databases, access is via Bastion instances mentioned above. In my case I provided SSH public key to DevOps, which was inserted directly on Bastion instance. Provide key via private channel.

      1. Private/Public key may be generated via ssh-keygen, MobaKeyGen, puttygen and is found in ~/.ssh/id_rsa.pub. Note that during keygen no password is needed.

  2. Install PgAdmin on local linux desktop

  3. Configure as follows;

    1. Create a new connection; right-click “Servers” and click Register > Server. If a server group has not been created, do that first, then create a Server underneath that group.

      1. On General tab, set the name of the db server

      2. On Connection tab, set Host, Port (default: 5432), Maintenance database (the actual db), and username

      3. On SSH Tunnel tab,

        1. Oregon Tunnel host: ec2-52-13-131-147.us-west-2.compute.amazonaws.com

        2. Oregon Username: ec2-user

        3. N.Virginia Tunnel host: ec2-3-226-116-124.compute-1.amazonaws.com

        4. N.Virginia Username: ec2-user

    2. Now just configure a connection in PgAdmin with the database credentials, and in the SSH Tunnel tab, pass the bastion instance information according to the region you want to connect to the database.

    3. Image Removed

Its also possible to use postgresql-client software, e.g. psql. to connect to the db. To do one must use ssh or putty to create a tunnel (much like is done above). See Connect to a PostgreSQL Server via SSH Tunnel - DEV Community for help in doing so.

...

Use appropriate pass-through (Bastion) servers with user ec2-user in ssh command

  1. Us-West-2: 52.13.131.147, ec2-52-13-131-147.us-west-2.compute.amazonaws.com

  2. US-East-1: 3.226.116.124, ec2-3-226-116-124.compute-1.amazonaws.com

...

789

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-849

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-778

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-937

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-983

FIO mSig Acct Payment Requests

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-482

Jira Legacy
serverSystem Jira
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyFIO-587

FIO Explorers/Monitors

FIO TestNet Network Monitor

FIO MainNet Network Monitor (fioprotocol.io)

FIO Tools (blockpane.com)

EOS Tools and Info - Aloha EOS

FIO MainNet Health

FIO MainNet Block Explorer and Wallet

FIO TestNet Block Explorer and Wallet

FIO Tools

Several tools have been built and are still in use by the FIO Protocol, i.e., cryptonym, devnet, and fiotop.

Blockpane Repo (cryptonym, fiowatch, fiotop)

CryptoLions/MSIG_console_manager

See the following repos for more info;

Cryptonym Notes:

Default config

  • key: FIO6G9pXXM92Gy5eMwNquGULoCj3ZStwPLPdEb9mVXyEHqWN7HSuA

  • max_fee: 23.926127683

  • actor: o2ouxipw2rt4

  • tpid: tpid@blockpane

mSig Info

https://dev.fio.net/docs/command-line-interface

https://dev.fio.net/docs/multisig

Eric Butz, [7/25/2023 10:40 AM]
I used Cryptolion's MSIG tool and it was fairly straightforward. The main complexity is with creating contract updates.

https://github.com/CryptoLions/MSIG_console_manager/tree/FIO

https://msig.app/fio

I can see if I have some examples on my local machine using these scripts.

Eric Butz, [7/25/2023 10:48 AM]
Some helpful notes for getting this working:

To get it to connect to the local wallet I had to run:

pkill fio-wallet
./fio-wallet --http-server-address=127.0.0.1:8900 &

NOTE! make sure there is a carriage return after the last action in actions_list

Eric Butz, [7/25/2023 10:48 AM]
Some examples that might go into 1_actions_list:

./clio.sh push action fio.fee createfee '{"end_point":"wrap_fio_tokens","type":"0","suf_amount":"2000000000"}' -p fio.fee@active

./clio.sh push action fio.oracle regoracle '{"oracle_actor":"gws1hlwlqhq1","actor":"eosio"}' -p eosio@active

./clio.sh push action fio.address regaddress '{"fio_address": "msig1@fiotestnet", "owner_fio_public_key": "FIO7LHcsCJjhywzAvELwdpZnynbELiua8SFjaXx4hu7Fuy3r8P9FC", "max_fee": 40000000000, "actor": "1sjb4apbznnx", "tpid": ""}' -p 1sjb4apbznnx@active

./clio.sh push action fio.oracle regoracle '{"oracle_actor":"mak1ed5b4k1v","actor":"eosio"}' -p eosio@active
./clio.sh push action fio.oracle regoracle '{"oracle_actor":"jnmwi5vu3hle","actor":"eosio"}' -p eosio@active
./clio.sh push action fio.oracle regoracle '{"oracle_actor":"hkzfdcxe11us","actor":"eosio"}' -p eosio@active

./clio.sh push action eosio unregprod '{"fio_address":"zenblocks@fiotestnet","actor":"eosio","max_fee":5000000000}' -p eosio@active

To create a new account

Eric Butz, [3/3/2022 3:02 PM]
@eluzgin the clio code for creating the new account was incorrect in the file I gave you. Bohdan gave me the correct command and created the newsys.b msig. For future reference, this is correct way to add a new account via msig.

Code Block
First create the file newaccount_payload.json 

{
   "creator": "eosio",
   "name": "fio.escrow",
   "owner": {
      "threshold": 1,
      "keys": [],
      "accounts": [{
         "permission": {"actor": "eosio", "permission": "active"},
         "weight": 1
      }],
      "waits": []
   },
   "active": {
      "threshold": 1,
      "keys": [],
      "accounts": [{
         "permission": {"actor": "eosio", "permission": "active"},
         "weight": 1
      },
      {
         "permission": {"actor": "fio.escrow", "permission": "eosio.code"},
         "weight": 1
      }],
      "waits": []
   }
}

Eric Butz, [3/3/2022 3:02 PM]
Then use the following clio:

./clio.sh push action -j -s -d eosio newaccount newaccount_payload.json -p eosio@active

Telegram discussion: https://t.me/fiotestnetb/10248

you can always check your msigs with cleos:

Code Block
./cleos.sh multisig review ...

or check tables using the CryptoLions table query tool

Cleos mSig commands;

Code Block
/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com multisig review nyvrxkxhiyql token.2n.c1

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com multisig approve nyvrxkxhiyql token.2n.c1 '{"actor":"nyvrxkxhiyql","permission":"active"}' 241873769

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com multisig cancel nyvrxkxhiyql fiosys.2n.c1 241873769 nyvrxkxhiyql

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com get table -l -1 eosio.msig nyvrxkxhiyql approvals2

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com get table -l -1 eosio.msig nyvrxkxhiyql approvals2 | grep proposal_name

/home/ubuntu/fio/3.5.x-dev/bin/clio -u https://api.fiotest.alohaeos.com get table -l -1 eosio.msig nyvrxkxhiyql approvals2 | grep proposal_name | grep c1 | wc -l


Fees: Type 0 versus Type 1?
To verify actions; must hit api node that has history turned on

To verify fees; use Postman, create GET action, endpoint: http://fiotestnet.blockpane.com/v1/chain/get_fee, with json body of
{     "end_point": "update_encrypt_key"

}

Some fees require a fio_address, i.e. jasonbourne@fioprotocol

BP Tips

FIO | Sw/eden APT (eosswedenorg.github.io)

FIO App Notes

fio-bundles

Code Block
#!/bin/bash

# Cmd line arg Usage
#go run cmd/bundles/main.go -d "postgres://registration:O40pWHb40mmdcNbNPUGtg2aIh3qSUX@reg-uat.cluster-cnxphxkusylu.us-west-2.rds.amazonaws.com:5432/registration" -k  "5JrWpJtuPyeXuFzhsAWYSyiT2gCZMR1d8ZdMPFhMkrkYE5NTvn7" -u "https://fiotestnet.blockpane.com" -v

# ENV parameter usage
export DB="postgres://registration:O40pWHb40mmdcNbNPUGtg2aIh3qSUX@reg-uat.cluster-cnxphxkusylu.us-west-2.rds.amazonaws.com:5432/registration"
export NODEOS_API_URL="https://fiotestnet.blockpane.com"
export WIF="5JrWpJtuPyeXuFzhsAWYSyiT2gCZMR1d8ZdMPFhMkrkYE5NTvn7"
go run cmd/bundles/main.go -v

Building the DevNet tool

Clone the dapixio DevNet repo located at dapixio/fio-devnet: devnet remote node management tool (github.com).

As this is a private repo, you will need to be granted access as well as have either a GitHub Personal Access Token or other means of ‘cloning’ the repo. If using an access token, the clone url is as follows:

git clone https://<Personal Access Token>@github.com/dapixio/fio-devnet.git

Refer to git - Clone A Private Repository (Github) - Stack Overflow for guidance.

Once the repo is cloned, cd to the fio-devnet/cmd/devnet and execute the cmd, 'go build'. This will build the devnet executable.

These steps were performed on a machine with all the necessary dependencies, i.e. go, c/c++ compiler.

Install/Configure/Run pgAdmin4 against RDS

See https://www.pgadmin.org/download/pgadmin-4-apt/ for installation instructions

Access to the RDS is via a bridge, i.e. the Bastion instances are the bridge for access to the registration databases. See https://aws.amazon.com/blogs/database/accessing-an-amazon-rds-instance-remotely-using-aws-client-vpn/ for overview.

  1. Contact DevOps group and request access to the RDS instances

    1. Provide specific instance names

    2. For registration databases, access is via Bastion instances mentioned above. In my case I provided SSH public key to DevOps, which was inserted directly on Bastion instance. Provide key via private channel.

      1. Private/Public key may be generated via ssh-keygen, MobaKeyGen, puttygen and is found in ~/.ssh/id_rsa.pub. Note that during keygen no password is needed.

  2. Install PgAdmin on local linux desktop

  3. Configure as follows;

    1. Create a new connection; right-click “Servers” and click Register > Server. If a server group has not been created, do that first, then create a Server underneath that group.

      1. On General tab, set the name of the db server

      2. On Connection tab, set Host, Port (default: 5432), Maintenance database (the actual db), and username

      3. On SSH Tunnel tab,

        1. Oregon Tunnel host: ec2-52-13-131-147.us-west-2.compute.amazonaws.com

        2. Oregon Username: ec2-user

        3. N.Virginia Tunnel host: ec2-3-226-116-124.compute-1.amazonaws.com

        4. N.Virginia Username: ec2-user

    2. Now just configure a connection in PgAdmin with the database credentials, and in the SSH Tunnel tab, pass the bastion instance information according to the region you want to connect to the database.

    3. Image Added

Its also possible to use postgresql-client software, e.g. psql. to connect to the db. To do one must use ssh or putty to create a tunnel (much like is done above). See Connect to a PostgreSQL Server via SSH Tunnel - DEV Community for help in doing so.

  1. Use appropriate pass-through (Bastion) servers with user ec2-user in ssh command

    1. Us-West-2: 52.13.131.147, ec2-52-13-131-147.us-west-2.compute.amazonaws.com

    2. US-East-1: 3.226.116.124, ec2-3-226-116-124.compute-1.amazonaws.com

  2. ssh -L localhost:5433:registration-b-20230614.cibwv8nm92hc.us-east-1.rds.amazonaws.com:5432 ec2-user@ec2-3-226-116-124.compute-1.amazonaws.com -i /home/ubuntu/.ssh/id_rsa.michael-fioprotocol.io

    1. Replace ‘ssh’ above with ‘ssh -o ExitOnForwardFailure=yes -f -N’ to put into background

    2. Repl Prod east: ssh -o ExitOnForwardFailure=yes -f -N -L localhost:5433:registration-b-20230614.cibwv8nm92hc.us-east-1.rds.amazonaws.com:5432 ec2-user@ec2-3-226-116-124.compute-1.amazonaws.com -i /home/ubuntu/.ssh/id_rsa.michael-fioprotocol.io

    1. Replace ‘ssh’ above with ‘ssh -o ExitOnForwardFailure=yes -f -N’ to put into background

    2. Repl Prod eastwest: ssh -o ExitOnForwardFailure=yes -f -N -L localhost:5433:registration-b-2023061420230717.cibwv8nm92hccnxphxkusylu.us-eastwest-12.rds.amazonaws.com:5432 ec2-user@ec2-3-226-116-124.compute-152-13-131-147.us-west-2.compute.amazonaws.com -i /home/ubuntu/.ssh/id_rsa.michael-fioprotocol.io

    3. Repl Prod west: ssh -o ExitOnForwardFailure=yes -f -N -L localhost:5433:registration-b-20230717.cnxphxkusylu.us-west-2.rds.amazonaws.com:5432 ec2-user@ec2-52-13-131-147.us-west-2.compute.amazonaws.com -i /home/ubuntu/.ssh/id_rsa.michael-fioprotocol.io

  3. Test using a command like; psql --port=5433 --host=localhost --user registration -c "SELECT * FROM public.wallet"

GOLANG

...

  1. Test using a command like; psql --port=5433 --host=localhost --user registration -c "SELECT * FROM public.wallet"

GOLANG

Code Block

// Point to specific commit (put in require)
// go get github.com/fioprotocol/fio-go@943a6a787d29
// ==> github.com/fioprotocol/fio-go v1.0.6-0.20230331152418-943a6a787d29

// Point to latest (implied) in branch
// go get github.com/fioprotocol/fio-go@develop
// ==> github.com/fioprotocol/fio-go v1.1.0-rc1

// Point to branch with slashes (see bugs 32955, 38861)
// GOPROXY=direct go get github.com/fioprotocol/fio-go@release/v1.1.x

// Point to tag
// go get github.com/fioprotocol/fio-go@943a6a787d29go@v1.1.0-rc1
// ==> github.com/fioprotocol/fio-go v1.01.6-0.20230331152418-943a6a787d29rc1

// PointReplace toremote latestdependency (implied)with inlocal branchone
// go getreplace github.com/fioprotocol/fio-go@developgo // ==> github.com/fioprotocol/fio-go v1.1.0-rc1

// Point to branch with slashes (see bugs 32955, 38861)
// GOPROXY=direct go get github.com/fioprotocol/fio-go@release/v1.1.x

// Point to tag
// go get github.com/fioprotocol/fio-go@v1.1.0-rc1
// ==> github.com/fioprotocol/fio-go v1.1.0-rc1

// Replace remote dependency with local one
//replace github.com/fioprotocol/fio-go => /home/ubuntu/repos/fioprotocol/fio-go

To clean up dependencies, run

Code Block
go mod tidy

Tips & Tricks

Tagging

...

/home/ubuntu/repos/fioprotocol/fio-go

To clean up dependencies, run

Code Block
go mod tidy

Tips & Tricks

Tagging

Tagging workflow

  1. Release candidate: tag with lightweight tag (do not include -a)

Code Block
languagebash
git tag v2.9.0
git push origin --tags
  1. Release:

    1. Remove tag (both remote and local)

    2. Tag with annotated tag

Code Block
git push origin :refs/tags/v2.9.0-rc1
git tag --delete v2.9.0-rc1
git tag -fa v2.9.0 -m "Version 2.9.0"
git push origin --tags
  1. To verify tag

    1. git rev-parse of a tag will show a commit just for the tag. Use git show <commit> to view commit info

Code Block
git rev-parse --verify HEAD
git rev-parse v2.9.0
git rev-parse v2.9.0^{commit}

Account Information

To get account info run

Code Block
languagebash
./clio -u http://127.0.0.1:8889 get account fio.treasury
./clio.sh get account fio.treasury

To compare account info between testnet and localnet, run

...

languagebash

...

Tagging workflow

  1. Release candidate: tag with lightweight tag (do not include -a)

Code Block
languagebash
git tag v2.9.0
git push origin --tags
  1. Release:

    1. Remove tag (both remote and local)

    2. Tag with annotated tag (include -a and -m <msg>)

Code Block
git push origin :refs/tags/v2.9.0-rc1
git tag --delete v2.9.0-rc1
git tag -fa v2.9.0 -m "Version 2.9.0"
git push origin --tags
  1. To verify tag

    1. git rev-parse of a tag will show a commit just for the tag. Use git show <commit> to view commit info

Code Block
git rev-parse --verify HEAD
git rev-parse v2.9.0
git rev-parse v2.9.0^{commit}

Account Information

To get account info run

Code Block
languagebash
./clio -u http://127.0.0.1:8889 get account fio.treasury
./clio.sh get account fio.treasury

To compare account info between testnet and localnet, run

Code Block
languagebash
./clio -u http://52.35.164.8:8888 get account fio.treasury
./clio.sh get account fio.treasury

Bash-isms

to find files and replace strings

Code Block
find . -type f \( -exec grep -l "\/home\/ubuntu\/fio\/upgrade" {} \; -false -o -exec sed -i 's/\/home\/ubuntu\/fio\/upgrade/\/home\/ubuntu\/tmp\/fio\/apts/g' {} \; \)
Code Block
find . -type f \( -exec grep -l "fio\/upgrade" {} \; -false -o -exec sed -i 's/\/home\/ubuntu\/fio\/upgrade/\/home\/ubuntu\/tmp\/fio\/apts/g' {} \; \)```

Troubleshooting

Database Dirty Flag

...

Dev Hub/Dev Hub Sitebuilder: FIO Protocol Developer Hub / FIO ReadMe / FIO readme.com SiteBuilder1.9 Docs

Zoom Recordings

https://us02web.zoom.us/rec/share/pf3TGOdPVzVYSatz6JpQts0TI88PHZtXlenVVMjCOYjMUN33ZnK7nwdUkWBDTU76.h9ElTfjcib-d0JFU?startTime=1655311884000

...