neo-go/pkg
Roman Khimov 23464401bc core/state: merge spent and unspent coins state, use it to store more things
This change reduces pressure on DB by doing the following things:
 * not storing additional KV pair for SpentCoin
 * storing Output right in the UnspentCoin, thus eliminating the need to get a
   full transaction from DB

At the same time it makes UnspentCoin more fat and hot, but it should probably
worth it.

Also drop `GetUnspentCoinStateOrNew` as it shouldn't ever existed, UTXOs
can't come out of nowhere.

1.5M block import time (VerifyBlocks disabled) on AMD Ryzen 5 1600/16GB/HDD,
before:
real    302m9.895s
user    96m17.200s
sys     13m37.084s

after:
real    159m16.551s
user    69m58.279s
sys     7m34.334s

So it's almost two-fold which is a great improvement.
2020-03-11 12:40:02 +03:00
..
compiler *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
consensus pkg: fix gofmt issues 2020-03-03 17:22:15 +03:00
core core/state: merge spent and unspent coins state, use it to store more things 2020-03-11 12:40:02 +03:00
crypto *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
encoding *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
internal *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
interop *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
io *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
network core: move (un)SpentCoin structs into the state package 2020-03-11 12:22:52 +03:00
rpc Merge pull request #724 from nspcc-dev/feature/submitblock 2020-03-06 12:08:45 +03:00
smartcontract smartcontract: marshal Arrays properly 2020-03-05 18:22:40 +03:00
util util: rename Int64Value to IntegralValue, add FractionalValue 2020-03-04 19:23:23 +03:00
vm vm: implement ParseMultisigContract() 2020-03-05 09:43:14 +03:00
wallet wallet: export contractParam 2020-03-05 09:43:14 +03:00