Skip to content

Instantly share code, notes, and snippets.

@spikeekips
Created November 13, 2019 03:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spikeekips/6ed225466bd4edef88f0d0454391afec to your computer and use it in GitHub Desktop.
Save spikeekips/6ed225466bd4edef88f0d0454391afec to your computer and use it in GitHub Desktop.

How Inflation Works

Scenario

  1. make network
  2. make transactions
  3. collect all the balances of accounts
  4. occur inflation
  5. collect all the balances of accounts again
  6. compare the collected balances

Preparation

  • composed UNSAFE_QUORUM=true network with one validator(tokennet-core:v0.6.2-01fe1e8-20171011195049)
  • one horizon(boscoin/tokennet-horizon:tokennet-bc69b65-20171011120646)

INFLATION_FREQUENCY=(60 * 10)

Make Transaction

$ time tokennet-body-maker -apply -verbose -horizon http://192.168.99.110:8080 -concurrency 10 SBQKVXRWIN7DM36PKOH73YFS5EC44H3QUPDULXJJZOSXOU7FB4V62IHZ ./saved/account-balances-100.txt
time="2017-10-12T11:02:28+09:00" level=info msg="Successfully 100 payments"
time="2017-10-12T11:02:28+09:00" level=error msg="failed 0 payments found"
time="2017-10-12T11:02:28+09:00" level=info msg="Successfully 100 payments"

real    1m41.799s
user    0m0.186s
sys     0m0.094s

Collecting Balances

$ PGPASSWORD=bos psql -h 192.168.99.110 -U bos n0 -c 'select accountid, balance from accounts' --pset pager=off -t -F ',' -A > saved/local/inflation/previous-balances-0.txt

Occurring Inflation

$ cd token-infra/src/tokennet-infra/contrib/tokennet-utils/tokennet-inflation
$ go run main.go

Collecting Balances After Inflation

$ PGPASSWORD=bos psql -h 192.168.99.110 -U bos n0 -c 'select accountid, balance from accounts' --pset pager=off -t -F ',' -A > saved/local/inflation/after-balances-0.txt

Diff

$ diff after-balances-0.txt  previous-balances-0.txt
2d1
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49979999979600000
22a22
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49979999979800000

GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK is the public address of genesis account.

INFLATION_FREQUENCY=(60 * 10) and INFLATION_RATE_TRILLIONTHS=0

$ time tokennet-body-maker -apply -verbose -horizon http://192.168.99.110:8080 -concurrency 10 SBQKVXRWIN7DM36PKOH73YFS5EC44H3QUPDULXJJZOSXOU7FB4V62IHZ ./saved/account-balances-100.txt
$ PGPASSWORD=bos psql -h 192.168.99.110 -U bos n0 -c 'select accountid, balance from accounts' --pset pager=off -t -F ',' -A > saved/local/inflation/previous-balances-1.txt
$ cd token-infra/src/tokennet-infra/contrib/tokennet-utils/tokennet-inflation
$ go run main.go
$ PGPASSWORD=bos psql -h 192.168.99.110 -U bos n0 -c 'select accountid, balance from accounts' --pset pager=off -t -F ',' -A > saved/local/inflation/after-balances-1.txt
$ diff after-balances-1.txt  previous-balances-1.txt
2a3
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49989999990000000
22d22
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49989999989900000
$ time tokennet-body-maker -apply -verbose -horizon http://192.168.99.110:8080 -concurrency 10 SBQKVXRWIN7DM36PKOH73YFS5EC44H3QUPDULXJJZOSXOU7FB4V62IHZ ./saved/account-balances-random-100.txt
$ PGPASSWORD=bos psql -h 192.168.99.110 -U bos n0 -c 'select accountid, balance from accounts' --pset pager=off -t -F ',' -A > saved/local/inflation/previous-balances-2.txt
$ cd token-infra/src/tokennet-infra/contrib/tokennet-utils/tokennet-inflation
$ go run main.go
$ PGPASSWORD=bos psql -h 192.168.99.110 -U bos n0 -c 'select accountid, balance from accounts' --pset pager=off -t -F ',' -A > saved/local/inflation/after-balances-2.txt
$ diff after-balances-2.txt  previous-balances-2.txt
3d2
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139700000
22a22
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139800000

3c3
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139600000
---
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139700000

3c3
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139500000
---
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139700000

2a3
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139700000
22d22
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139400000

a3
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139700000
23d23
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988138700000

2a3
> GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988139700000
23d23
< GBZFNJQIYN7JBKEQX7QTAUH6XBJHDL2ATQJDA26NNWXIHVLY4VL7Z5WK,49973988138600000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment