-Another format of REPLY for "WRITE" transactions. New REPLY format you can see in: REPLY for "WRITE" txns. The main goal for this changes is to divide data and metadata.
-Change key of ReqIdrToTxn stores. For now, ReqIdrToTxn store request from client as a map of: (digest) -> (ledger_id<some_delimiter>txn seq_no). Digest is a sha256 hash of (reqId, DID, operation). Also, digest was moved to transaction metadata section.
-Added tag for CLAIM_DEF. 'TAG' is a part of key for state tree. If this field exists in incoming transaction, then it will be used. If not, then default will be used.
Full CLAIM_DEF format description can be found in CLAIM_DEF txn format and CLAIM_DEF request format
All of other request specifications are in: Request
-Migration fom levelDB to RocksDB. Rocksdb has a native 'seek' methods, more flexible, has snapshots support and works well on Windows. For now, all of internal node's storage use this db as a default key-value storages.
Migration scripts, which would be called automatically during pool upgrade procedure (while sending POOL_UPGRADE transaction):
-
Change REPLY format for WRITE transactions and using digest as a key: 1_3_428_to_1_3_429.py
-
From levelDb to Rocksdb: 1_3_396_to_1_3_397.py
-
Please mention that Pool upgrade should be performed simultaneously for all nodes due to txn format changes.
-
All indy-cli pools should be recreated with actual genesis files.
Old CLI (indy
):
upgrade from 1.3 to 1.4 version
delete ~.ind-cli/networks/<network_name>/data
folder
replace both old genesis files by new ones (from 1.4 node or from sovrin repo)
New CLI (indy-cli
):
upgrade from 1.4 to 1.5 version recreate indy-cli pool using 1.4 pool genesis file (from 1.4 node or from sovrin repo)