diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..8fc46a8
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/sample_chain.iml b/.idea/sample_chain.iml
new file mode 100644
index 0000000..5e764c4
--- /dev/null
+++ b/.idea/sample_chain.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/blockDB_1408/000174.log b/blockDB_1408/000174.log
deleted file mode 100644
index a73fac6..0000000
Binary files a/blockDB_1408/000174.log and /dev/null differ
diff --git a/blockDB_1408/000176.ldb b/blockDB_1408/000176.ldb
deleted file mode 100644
index 295d916..0000000
Binary files a/blockDB_1408/000176.ldb and /dev/null differ
diff --git a/blockDB_1408/000454.ldb b/blockDB_1408/000454.ldb
new file mode 100644
index 0000000..245f7ec
Binary files /dev/null and b/blockDB_1408/000454.ldb differ
diff --git a/blockDB_1408/000455.ldb b/blockDB_1408/000455.ldb
new file mode 100644
index 0000000..d94c4ed
Binary files /dev/null and b/blockDB_1408/000455.ldb differ
diff --git a/blockDB_1408/000458.ldb b/blockDB_1408/000458.ldb
new file mode 100644
index 0000000..e36b6c7
Binary files /dev/null and b/blockDB_1408/000458.ldb differ
diff --git a/blockDB_1408/000461.ldb b/blockDB_1408/000461.ldb
new file mode 100644
index 0000000..79ae7e2
Binary files /dev/null and b/blockDB_1408/000461.ldb differ
diff --git a/blockDB_1408/000462.log b/blockDB_1408/000462.log
new file mode 100644
index 0000000..dbcde02
Binary files /dev/null and b/blockDB_1408/000462.log differ
diff --git a/blockDB_1408/CURRENT b/blockDB_1408/CURRENT
index fb6ed1a..43c162f 100644
--- a/blockDB_1408/CURRENT
+++ b/blockDB_1408/CURRENT
@@ -1 +1 @@
-MANIFEST-000175
+MANIFEST-000463
diff --git a/blockDB_1408/CURRENT.bak b/blockDB_1408/CURRENT.bak
index 647a5d6..bc93ad8 100644
--- a/blockDB_1408/CURRENT.bak
+++ b/blockDB_1408/CURRENT.bak
@@ -1 +1 @@
-MANIFEST-000172
+MANIFEST-000460
diff --git a/blockDB_1408/LOG b/blockDB_1408/LOG
index b5af191..8f2f8f6 100644
--- a/blockDB_1408/LOG
+++ b/blockDB_1408/LOG
@@ -772,3 +772,1279 @@
11:54:41.656041 table@remove removed @154
11:54:41.724849 db@close closing
11:54:41.724849 db@close done T·0s
+=============== Apr 30, 2024 (CST) ===============
+20:18:42.108405 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:18:42.108405 version@stat F·[0 1] S·51KiB[0B 51KiB] Sc·[0.00 0.00]
+20:18:42.108405 db@open opening
+20:18:42.108405 journal@recovery F·1
+20:18:42.110404 journal@recovery recovering @174
+20:18:42.113408 memdb@flush created L0@177 N·20 S·54KiB "blo..Z\xdd\n,d695":"blo..n\x01\x04,d704"
+20:18:42.115408 version@stat F·[1 1] S·106KiB[54KiB 51KiB] Sc·[0.25 0.00]
+20:18:42.124752 db@janitor F·4 G·0
+20:18:42.124752 db@open done T·16.3477ms
+20:18:43.178407 db@close closing
+20:18:43.178919 db@close done T·512.2µs
+=============== Apr 30, 2024 (CST) ===============
+20:28:22.580016 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:28:22.580522 version@stat F·[1 1] S·106KiB[54KiB 51KiB] Sc·[0.25 0.00]
+20:28:22.580522 db@open opening
+20:28:22.580522 journal@recovery F·1
+20:28:22.580522 journal@recovery recovering @178
+20:28:22.583623 memdb@flush created L0@180 N·20 S·51KiB "blo..\xac\xeeQ,v733":"blo..n\x01\x04,d725"
+20:28:22.584133 version@stat F·[2 1] S·158KiB[106KiB 51KiB] Sc·[0.50 0.00]
+20:28:22.591118 db@janitor F·5 G·0
+20:28:22.591118 db@open done T·10.5963ms
+=============== Apr 30, 2024 (CST) ===============
+20:29:22.516796 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:29:22.516796 version@stat F·[2 1] S·158KiB[106KiB 51KiB] Sc·[0.50 0.00]
+20:29:22.517795 db@open opening
+20:29:22.517795 journal@recovery F·1
+20:29:22.517795 journal@recovery recovering @181
+20:29:22.521793 memdb@flush created L0@183 N·10 S·361B "blo..\xac\xeeQ,d737":"blo..n\x01\x04,d746"
+20:29:22.522794 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:29:22.527792 db@janitor F·6 G·0
+20:29:22.527792 db@open done T·9.9974ms
+=============== Apr 30, 2024 (CST) ===============
+20:31:01.719550 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:31:01.720586 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:31:01.720586 db@open opening
+20:31:01.721099 journal@recovery F·1
+20:31:01.721252 journal@recovery recovering @184
+20:31:01.724925 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:31:01.735690 db@janitor F·6 G·0
+20:31:01.735690 db@open done T·15.1038ms
+=============== Apr 30, 2024 (CST) ===============
+20:32:46.207508 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:32:46.208024 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:32:46.208024 db@open opening
+20:32:46.208024 journal@recovery F·1
+20:32:46.208552 journal@recovery recovering @186
+20:32:46.209779 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:32:46.217915 db@janitor F·6 G·0
+20:32:46.218466 db@open done T·10.4426ms
+=============== Apr 30, 2024 (CST) ===============
+20:36:57.747889 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:36:57.747889 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:36:57.747889 db@open opening
+20:36:57.748887 journal@recovery F·1
+20:36:57.748887 journal@recovery recovering @188
+20:36:57.750896 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:36:57.759962 db@janitor F·6 G·0
+20:36:57.759962 db@open done T·12.0729ms
+=============== Apr 30, 2024 (CST) ===============
+20:38:58.731102 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:38:58.733093 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:38:58.733093 db@open opening
+20:38:58.733606 journal@recovery F·1
+20:38:58.734113 journal@recovery recovering @190
+20:38:58.735259 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:38:58.742477 db@janitor F·6 G·0
+20:38:58.742477 db@open done T·9.3844ms
+20:38:58.760369 db@close closing
+20:38:58.760369 db@close done T·0s
+=============== Apr 30, 2024 (CST) ===============
+20:40:26.182970 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:40:26.183970 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:40:26.183970 db@open opening
+20:40:26.183970 journal@recovery F·1
+20:40:26.184970 journal@recovery recovering @192
+20:40:26.184970 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:40:26.191974 db@janitor F·6 G·0
+20:40:26.191974 db@open done T·8.0032ms
+20:40:26.197971 db@close closing
+20:40:26.197971 db@close done T·0s
+=============== Apr 30, 2024 (CST) ===============
+20:41:09.096201 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:41:09.099480 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:41:09.099620 db@open opening
+20:41:09.099620 journal@recovery F·1
+20:41:09.100642 journal@recovery recovering @194
+20:41:09.105374 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:41:09.118835 db@janitor F·6 G·0
+20:41:09.118835 db@open done T·19.2153ms
+20:41:09.126255 db@close closing
+20:41:09.126773 db@close done T·517.9µs
+=============== Apr 30, 2024 (CST) ===============
+20:43:03.396909 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:43:03.397423 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:43:03.397423 db@open opening
+20:43:03.397953 journal@recovery F·1
+20:43:03.397953 journal@recovery recovering @196
+20:43:03.399137 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:43:03.407524 db@janitor F·6 G·0
+20:43:03.407524 db@open done T·10.101ms
+20:43:03.416031 db@close closing
+20:43:03.416031 db@close done T·0s
+=============== Apr 30, 2024 (CST) ===============
+20:43:53.082021 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:43:53.083026 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:43:53.083026 db@open opening
+20:43:53.084022 journal@recovery F·1
+20:43:53.084022 journal@recovery recovering @198
+20:43:53.086022 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:43:53.094022 db@janitor F·6 G·0
+20:43:53.095020 db@open done T·11.9936ms
+=============== Apr 30, 2024 (CST) ===============
+20:45:28.203627 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:45:28.204637 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:45:28.204637 db@open opening
+20:45:28.205154 journal@recovery F·1
+20:45:28.207502 journal@recovery recovering @200
+20:45:28.208019 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:45:28.214784 db@janitor F·6 G·0
+20:45:28.214784 db@open done T·10.1478ms
+=============== Apr 30, 2024 (CST) ===============
+20:46:12.375692 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:46:12.377381 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:46:12.377381 db@open opening
+20:46:12.377907 journal@recovery F·1
+20:46:12.377907 journal@recovery recovering @202
+20:46:12.379088 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:46:12.389675 db@janitor F·6 G·0
+20:46:12.389675 db@open done T·12.2943ms
+=============== Apr 30, 2024 (CST) ===============
+20:47:14.144911 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:47:14.147116 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:47:14.147116 db@open opening
+20:47:14.147642 journal@recovery F·1
+20:47:14.148656 journal@recovery recovering @204
+20:47:14.151973 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:47:14.158986 db@janitor F·6 G·0
+20:47:14.158986 db@open done T·11.8702ms
+=============== Apr 30, 2024 (CST) ===============
+20:52:48.472371 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:52:48.472916 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:52:48.472916 db@open opening
+20:52:48.472916 journal@recovery F·1
+20:52:48.473436 journal@recovery recovering @206
+20:52:48.473959 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:52:48.481816 db@janitor F·6 G·0
+20:52:48.481816 db@open done T·8.8994ms
+=============== Apr 30, 2024 (CST) ===============
+20:53:38.946693 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:53:38.950690 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:53:38.950690 db@open opening
+20:53:38.950690 journal@recovery F·1
+20:53:38.951691 journal@recovery recovering @208
+20:53:38.952693 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:53:38.959695 db@janitor F·6 G·0
+20:53:38.959695 db@open done T·9.0052ms
+=============== Apr 30, 2024 (CST) ===============
+20:53:59.561563 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:53:59.562614 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:53:59.562614 db@open opening
+20:53:59.562614 journal@recovery F·1
+20:53:59.563202 journal@recovery recovering @210
+20:53:59.565137 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:53:59.571513 db@janitor F·6 G·0
+20:53:59.571513 db@open done T·8.8992ms
+=============== Apr 30, 2024 (CST) ===============
+20:54:17.974353 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+20:54:17.974869 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:54:17.974869 db@open opening
+20:54:17.975389 journal@recovery F·1
+20:54:17.977913 journal@recovery recovering @212
+20:54:17.981335 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+20:54:17.989234 db@janitor F·6 G·0
+20:54:17.989234 db@open done T·14.3656ms
+=============== Apr 30, 2024 (CST) ===============
+21:28:38.780078 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+21:28:38.781130 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+21:28:38.781130 db@open opening
+21:28:38.781667 journal@recovery F·1
+21:28:38.784704 journal@recovery recovering @214
+21:28:38.785225 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+21:28:38.792762 db@janitor F·6 G·0
+21:28:38.792762 db@open done T·11.6317ms
+=============== Apr 30, 2024 (CST) ===============
+21:29:55.366432 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+21:29:55.367476 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+21:29:55.367476 db@open opening
+21:29:55.367476 journal@recovery F·1
+21:29:55.368007 journal@recovery recovering @216
+21:29:55.369703 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+21:29:55.382129 db@janitor F·6 G·0
+21:29:55.382129 db@open done T·14.6535ms
+=============== May 1, 2024 (CST) ===============
+11:53:12.424260 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+11:53:12.425257 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+11:53:12.425257 db@open opening
+11:53:12.426253 journal@recovery F·1
+11:53:12.426253 journal@recovery recovering @218
+11:53:12.428248 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+11:53:12.443197 db@janitor F·6 G·0
+11:53:12.443197 db@open done T·17.9401ms
+=============== May 1, 2024 (CST) ===============
+11:57:51.496894 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+11:57:51.497890 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+11:57:51.497890 db@open opening
+11:57:51.497890 journal@recovery F·1
+11:57:51.498887 journal@recovery recovering @220
+11:57:51.499885 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+11:57:51.506860 db@janitor F·6 G·0
+11:57:51.506860 db@open done T·8.9698ms
+=============== May 1, 2024 (CST) ===============
+11:59:06.478887 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+11:59:06.479916 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+11:59:06.479916 db@open opening
+11:59:06.480962 journal@recovery F·1
+11:59:06.480962 journal@recovery recovering @222
+11:59:06.484688 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+11:59:06.491217 db@janitor F·6 G·0
+11:59:06.491217 db@open done T·11.301ms
+=============== May 1, 2024 (CST) ===============
+12:00:14.650836 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:00:14.651833 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:00:14.651833 db@open opening
+12:00:14.651833 journal@recovery F·1
+12:00:14.652829 journal@recovery recovering @224
+12:00:14.653826 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:00:14.662795 db@janitor F·6 G·0
+12:00:14.662795 db@open done T·10.9618ms
+=============== May 1, 2024 (CST) ===============
+12:00:48.886674 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:00:48.888652 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:00:48.888652 db@open opening
+12:00:48.888652 journal@recovery F·1
+12:00:48.889647 journal@recovery recovering @226
+12:00:48.890676 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:00:48.896625 db@janitor F·6 G·0
+12:00:48.896625 db@open done T·7.9737ms
+=============== May 1, 2024 (CST) ===============
+12:02:49.834630 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:02:49.835624 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:02:49.835624 db@open opening
+12:02:49.835624 journal@recovery F·1
+12:02:49.836621 journal@recovery recovering @228
+12:02:49.839622 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:02:49.847584 db@janitor F·6 G·0
+12:02:49.848583 db@open done T·12.9582ms
+12:02:49.856553 db@close closing
+12:02:49.857549 db@close done T·996.2µs
+=============== May 1, 2024 (CST) ===============
+12:03:51.838238 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:03:51.839272 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:03:51.839272 db@open opening
+12:03:51.839272 journal@recovery F·1
+12:03:51.839796 journal@recovery recovering @230
+12:03:51.840850 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:03:51.849208 db@janitor F·6 G·0
+12:03:51.849208 db@open done T·9.9358ms
+=============== May 1, 2024 (CST) ===============
+12:07:02.011002 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:07:02.012084 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:07:02.012084 db@open opening
+12:07:02.012599 journal@recovery F·1
+12:07:02.012599 journal@recovery recovering @232
+12:07:02.014452 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:07:02.021397 db@janitor F·6 G·0
+12:07:02.021397 db@open done T·9.3133ms
+=============== May 1, 2024 (CST) ===============
+12:09:14.716298 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:09:14.717292 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:09:14.717292 db@open opening
+12:09:14.717292 journal@recovery F·1
+12:09:14.717292 journal@recovery recovering @234
+12:09:14.721284 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:09:14.728254 db@janitor F·6 G·0
+12:09:14.728254 db@open done T·10.9622ms
+12:09:14.734233 db@close closing
+12:09:14.734233 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:09:52.609837 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:09:52.610350 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:09:52.610350 db@open opening
+12:09:52.610866 journal@recovery F·1
+12:09:52.611376 journal@recovery recovering @236
+12:09:52.612608 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:09:52.619939 db@janitor F·6 G·0
+12:09:52.619939 db@open done T·9.589ms
+12:09:52.626914 db@close closing
+12:09:52.626914 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:10:32.023298 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:10:32.024291 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:10:32.024291 db@open opening
+12:10:32.024291 journal@recovery F·1
+12:10:32.024291 journal@recovery recovering @238
+12:10:32.026285 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:10:32.034272 db@janitor F·6 G·0
+12:10:32.035261 db@open done T·10.9694ms
+12:10:32.040238 db@close closing
+12:10:32.040238 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:11:26.805750 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:11:26.806265 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:11:26.806265 db@open opening
+12:11:26.806960 journal@recovery F·1
+12:11:26.807878 journal@recovery recovering @240
+12:11:26.810330 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:11:26.817754 db@janitor F·6 G·0
+12:11:26.818297 db@open done T·11.5291ms
+=============== May 1, 2024 (CST) ===============
+12:12:32.275327 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:12:32.277116 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:12:32.277116 db@open opening
+12:12:32.278023 journal@recovery F·1
+12:12:32.280042 journal@recovery recovering @242
+12:12:32.281039 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:12:32.288018 db@janitor F·6 G·0
+12:12:32.288018 db@open done T·10.9022ms
+12:12:32.296339 db@close closing
+12:12:32.296845 db@close done T·506.6µs
+=============== May 1, 2024 (CST) ===============
+12:13:17.696426 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:13:17.697421 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:13:17.697421 db@open opening
+12:13:17.697421 journal@recovery F·1
+12:13:17.698418 journal@recovery recovering @244
+12:13:17.698418 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:13:17.705400 db@janitor F·6 G·0
+12:13:17.706392 db@open done T·8.9711ms
+=============== May 1, 2024 (CST) ===============
+12:13:58.880163 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:13:58.880714 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:13:58.880714 db@open opening
+12:13:58.881251 journal@recovery F·1
+12:13:58.881844 journal@recovery recovering @246
+12:13:58.882905 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:13:58.889645 db@janitor F·6 G·0
+12:13:58.890147 db@open done T·8.9312ms
+=============== May 1, 2024 (CST) ===============
+12:14:18.679603 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:14:18.680306 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:14:18.681357 db@open opening
+12:14:18.681357 journal@recovery F·1
+12:14:18.681861 journal@recovery recovering @248
+12:14:18.682648 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:14:18.689040 db@janitor F·6 G·0
+12:14:18.689040 db@open done T·7.6828ms
+12:14:18.697520 db@close closing
+12:14:18.697520 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:14:37.871322 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:14:37.872359 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:14:37.872359 db@open opening
+12:14:37.873652 journal@recovery F·1
+12:14:37.874178 journal@recovery recovering @250
+12:14:37.875311 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:14:37.881485 db@janitor F·6 G·0
+12:14:37.881485 db@open done T·9.1252ms
+=============== May 1, 2024 (CST) ===============
+12:16:23.948616 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:16:23.949701 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:16:23.949701 db@open opening
+12:16:23.950216 journal@recovery F·1
+12:16:23.950722 journal@recovery recovering @252
+12:16:23.951718 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:16:23.960708 db@janitor F·6 G·0
+12:16:23.960708 db@open done T·11.0065ms
+=============== May 1, 2024 (CST) ===============
+12:16:58.414079 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:16:58.415105 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:16:58.415105 db@open opening
+12:16:58.415639 journal@recovery F·1
+12:16:58.415639 journal@recovery recovering @254
+12:16:58.417252 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:16:58.426420 db@janitor F·6 G·0
+12:16:58.426420 db@open done T·11.3151ms
+=============== May 1, 2024 (CST) ===============
+12:22:44.448719 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:22:44.449234 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:22:44.449234 db@open opening
+12:22:44.449748 journal@recovery F·1
+12:22:44.449748 journal@recovery recovering @256
+12:22:44.450978 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:22:44.460008 db@janitor F·6 G·0
+12:22:44.460008 db@open done T·10.774ms
+12:22:44.479451 db@close closing
+12:22:44.480447 db@close done T·996.1µs
+=============== May 1, 2024 (CST) ===============
+12:24:05.622122 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:24:05.622633 version@stat F·[3 1] S·158KiB[106KiB 51KiB] Sc·[0.75 0.00]
+12:24:05.622633 db@open opening
+12:24:05.623149 journal@recovery F·1
+12:24:05.624249 journal@recovery recovering @258
+12:24:05.627018 memdb@flush created L0@260 N·2 S·1KiB "blo..\xbf\xca<,v749":"blo..nn\x00,v748"
+12:24:05.628215 version@stat F·[4 1] S·160KiB[108KiB 51KiB] Sc·[1.00 0.00]
+12:24:05.634668 db@janitor F·7 G·0
+12:24:05.634668 db@open done T·12.0342ms
+12:24:05.634668 table@compaction L0·4 -> L1·1 S·160KiB Q·750
+12:24:05.637169 table@build created L1@263 N·2 S·1KiB "blo..\xbf\xca<,v749":"blo..nn\x00,v748"
+12:24:05.637169 version@stat F·[0 1] S·1KiB[0B 1KiB] Sc·[0.00 0.00]
+12:24:05.638166 table@compaction committed F-4 S-158KiB Ke·0 D·60 T·3.4983ms
+12:24:05.638166 table@remove removed @260
+12:24:05.638166 table@remove removed @183
+12:24:05.639346 table@remove removed @180
+12:24:05.640160 table@remove removed @177
+12:24:05.640160 table@remove removed @176
+=============== May 1, 2024 (CST) ===============
+12:24:48.941136 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:24:48.942127 version@stat F·[0 1] S·1KiB[0B 1KiB] Sc·[0.00 0.00]
+12:24:48.942127 db@open opening
+12:24:48.943125 journal@recovery F·1
+12:24:48.943125 journal@recovery recovering @261
+12:24:48.946111 memdb@flush created L0@264 N·2 S·172B "blo..\xbf\xca<,d751":"blo..nn\x00,d752"
+12:24:48.946111 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:24:48.951094 db@janitor F·4 G·0
+12:24:48.951094 db@open done T·8.9675ms
+=============== May 1, 2024 (CST) ===============
+12:26:04.820807 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:26:04.821843 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:26:04.821843 db@open opening
+12:26:04.822359 journal@recovery F·1
+12:26:04.822861 journal@recovery recovering @265
+12:26:04.823749 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:26:04.831350 db@janitor F·4 G·0
+12:26:04.831350 db@open done T·9.5067ms
+=============== May 1, 2024 (CST) ===============
+12:26:59.574190 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:26:59.577183 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:26:59.577686 db@open opening
+12:26:59.577704 journal@recovery F·1
+12:26:59.578310 journal@recovery recovering @267
+12:26:59.579512 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:26:59.586853 db@janitor F·4 G·0
+12:26:59.586853 db@open done T·9.1667ms
+12:26:59.605686 db@close closing
+12:26:59.606200 db@close done T·514.3µs
+=============== May 1, 2024 (CST) ===============
+12:28:12.879767 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:28:12.879767 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:28:12.879767 db@open opening
+12:28:12.879767 journal@recovery F·1
+12:28:12.880763 journal@recovery recovering @269
+12:28:12.883754 memdb@flush created L0@271 N·2 S·1KiB "blo..\x98$V,v755":"blo..nn\x00,v754"
+12:28:12.884758 version@stat F·[2 1] S·2KiB[1KiB 1KiB] Sc·[0.50 0.00]
+12:28:12.890730 db@janitor F·5 G·0
+12:28:12.891726 db@open done T·11.9596ms
+12:28:12.901693 db@close closing
+12:28:12.902689 db@close done T·996.3µs
+=============== May 1, 2024 (CST) ===============
+12:28:37.722660 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:28:37.724650 version@stat F·[2 1] S·2KiB[1KiB 1KiB] Sc·[0.50 0.00]
+12:28:37.724650 db@open opening
+12:28:37.724650 journal@recovery F·1
+12:28:37.726796 journal@recovery recovering @272
+12:28:37.730631 memdb@flush created L0@274 N·2 S·172B "blo..\x98$V,d757":"blo..nn\x00,d758"
+12:28:37.731140 version@stat F·[3 1] S·3KiB[1KiB 1KiB] Sc·[0.75 0.00]
+12:28:37.739672 db@janitor F·6 G·0
+12:28:37.739672 db@open done T·15.0216ms
+12:28:37.754614 db@close closing
+12:28:37.755141 db@close done T·526.6µs
+=============== May 1, 2024 (CST) ===============
+12:29:07.585460 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:29:07.587661 version@stat F·[3 1] S·3KiB[1KiB 1KiB] Sc·[0.75 0.00]
+12:29:07.587661 db@open opening
+12:29:07.588276 journal@recovery F·1
+12:29:07.588949 journal@recovery recovering @275
+12:29:07.590853 version@stat F·[3 1] S·3KiB[1KiB 1KiB] Sc·[0.75 0.00]
+12:29:07.597986 db@janitor F·6 G·0
+12:29:07.597986 db@open done T·10.3253ms
+12:29:07.611185 db@close closing
+12:29:07.611185 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:29:26.291389 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:29:26.292385 version@stat F·[3 1] S·3KiB[1KiB 1KiB] Sc·[0.75 0.00]
+12:29:26.292385 db@open opening
+12:29:26.293387 journal@recovery F·1
+12:29:26.293387 journal@recovery recovering @277
+12:29:26.294384 version@stat F·[3 1] S·3KiB[1KiB 1KiB] Sc·[0.75 0.00]
+12:29:26.302350 db@janitor F·6 G·0
+12:29:26.302350 db@open done T·9.9657ms
+12:29:26.329260 db@close closing
+12:29:26.329260 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:30:08.636056 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:30:08.636056 version@stat F·[3 1] S·3KiB[1KiB 1KiB] Sc·[0.75 0.00]
+12:30:08.636056 db@open opening
+12:30:08.637054 journal@recovery F·1
+12:30:08.637054 journal@recovery recovering @279
+12:30:08.640043 memdb@flush created L0@281 N·2 S·2KiB "blo..\xf2\x99\x1b,v761":"blo..nn\x00,v760"
+12:30:08.641040 version@stat F·[4 1] S·5KiB[3KiB 1KiB] Sc·[1.00 0.00]
+12:30:08.648018 db@janitor F·7 G·0
+12:30:08.648018 db@open done T·11.9618ms
+12:30:08.648018 table@compaction L0·4 -> L1·1 S·5KiB Q·762
+12:30:08.651052 table@build created L1@284 N·2 S·2KiB "blo..\xf2\x99\x1b,v761":"blo..nn\x00,v760"
+12:30:08.651052 version@stat F·[0 1] S·2KiB[0B 2KiB] Sc·[0.00 0.00]
+12:30:08.652002 table@compaction committed F-4 S-3KiB Ke·0 D·8 T·2.9679ms
+12:30:08.652002 table@remove removed @281
+12:30:08.652999 table@remove removed @274
+12:30:08.652999 table@remove removed @271
+12:30:08.652999 table@remove removed @264
+12:30:08.653996 table@remove removed @263
+=============== May 1, 2024 (CST) ===============
+12:31:28.057781 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:31:28.059789 version@stat F·[0 1] S·2KiB[0B 2KiB] Sc·[0.00 0.00]
+12:31:28.059789 db@open opening
+12:31:28.060770 journal@recovery F·1
+12:31:28.060770 journal@recovery recovering @282
+12:31:28.062763 memdb@flush created L0@285 N·2 S·172B "blo..\xf2\x99\x1b,d763":"blo..nn\x00,d764"
+12:31:28.063759 version@stat F·[1 1] S·2KiB[172B 2KiB] Sc·[0.25 0.00]
+12:31:28.069739 db@janitor F·4 G·0
+12:31:28.069739 db@open done T·9.9498ms
+=============== May 1, 2024 (CST) ===============
+12:32:21.221593 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:32:21.223586 version@stat F·[1 1] S·2KiB[172B 2KiB] Sc·[0.25 0.00]
+12:32:21.223586 db@open opening
+12:32:21.223586 journal@recovery F·1
+12:32:21.223586 journal@recovery recovering @286
+12:32:21.225579 version@stat F·[1 1] S·2KiB[172B 2KiB] Sc·[0.25 0.00]
+12:32:21.233554 db@janitor F·4 G·0
+12:32:21.233554 db@open done T·9.9675ms
+=============== May 1, 2024 (CST) ===============
+12:32:32.418420 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:32:32.419812 version@stat F·[1 1] S·2KiB[172B 2KiB] Sc·[0.25 0.00]
+12:32:32.419812 db@open opening
+12:32:32.420330 journal@recovery F·1
+12:32:32.421891 journal@recovery recovering @288
+12:32:32.424202 version@stat F·[1 1] S·2KiB[172B 2KiB] Sc·[0.25 0.00]
+12:32:32.435951 db@janitor F·4 G·0
+12:32:32.435951 db@open done T·16.1383ms
+12:32:32.454888 db@close closing
+12:32:32.454888 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:35:03.594149 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:35:03.594694 version@stat F·[1 1] S·2KiB[172B 2KiB] Sc·[0.25 0.00]
+12:35:03.594694 db@open opening
+12:35:03.595196 journal@recovery F·1
+12:35:03.595207 journal@recovery recovering @290
+12:35:03.598447 memdb@flush created L0@292 N·2 S·1KiB "blo..R\x10\x97,v767":"blo..nn\x00,v766"
+12:35:03.599037 version@stat F·[2 1] S·3KiB[1KiB 2KiB] Sc·[0.50 0.00]
+12:35:03.607162 db@janitor F·5 G·0
+12:35:03.607162 db@open done T·12.4672ms
+=============== May 1, 2024 (CST) ===============
+12:35:47.556060 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:35:47.557055 version@stat F·[2 1] S·3KiB[1KiB 2KiB] Sc·[0.50 0.00]
+12:35:47.557055 db@open opening
+12:35:47.557055 journal@recovery F·1
+12:35:47.559049 journal@recovery recovering @293
+12:35:47.562040 memdb@flush created L0@295 N·2 S·172B "blo..R\x10\x97,d769":"blo..nn\x00,d770"
+12:35:47.562040 version@stat F·[3 1] S·3KiB[1KiB 2KiB] Sc·[0.75 0.00]
+12:35:47.569018 db@janitor F·6 G·0
+12:35:47.569018 db@open done T·11.9626ms
+=============== May 1, 2024 (CST) ===============
+12:39:20.163117 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:39:20.164105 version@stat F·[3 1] S·3KiB[1KiB 2KiB] Sc·[0.75 0.00]
+12:39:20.164105 db@open opening
+12:39:20.164105 journal@recovery F·1
+12:39:20.165103 journal@recovery recovering @296
+12:39:20.166100 version@stat F·[3 1] S·3KiB[1KiB 2KiB] Sc·[0.75 0.00]
+12:39:20.173076 db@janitor F·6 G·0
+12:39:20.173076 db@open done T·8.971ms
+12:39:20.193011 db@close closing
+12:39:20.194007 db@close done T·996.5µs
+=============== May 1, 2024 (CST) ===============
+12:40:08.711870 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:40:08.712892 version@stat F·[3 1] S·3KiB[1KiB 2KiB] Sc·[0.75 0.00]
+12:40:08.712892 db@open opening
+12:40:08.712892 journal@recovery F·1
+12:40:08.713446 journal@recovery recovering @298
+12:40:08.715563 memdb@flush created L0@300 N·2 S·1KiB "blo..a\xeb\xf3,v773":"blo..nn\x00,v772"
+12:40:08.716123 version@stat F·[4 1] S·5KiB[3KiB 2KiB] Sc·[1.00 0.00]
+12:40:08.722780 db@janitor F·7 G·0
+12:40:08.722780 db@open done T·9.8875ms
+12:40:08.723312 table@compaction L0·4 -> L1·1 S·5KiB Q·774
+12:40:08.726829 table@build created L1@303 N·2 S·1KiB "blo..a\xeb\xf3,v773":"blo..nn\x00,v772"
+12:40:08.726829 version@stat F·[0 1] S·1KiB[0B 1KiB] Sc·[0.00 0.00]
+12:40:08.727896 table@compaction committed F-4 S-3KiB Ke·0 D·8 T·4.5844ms
+12:40:08.729119 table@remove removed @300
+12:40:08.729666 table@remove removed @295
+12:40:08.729666 table@remove removed @292
+12:40:08.730178 table@remove removed @285
+12:40:08.730704 table@remove removed @284
+12:40:08.735999 db@close closing
+12:40:08.735999 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:40:39.336897 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:40:39.337504 version@stat F·[0 1] S·1KiB[0B 1KiB] Sc·[0.00 0.00]
+12:40:39.337504 db@open opening
+12:40:39.338051 journal@recovery F·1
+12:40:39.338051 journal@recovery recovering @301
+12:40:39.341286 memdb@flush created L0@304 N·2 S·172B "blo..a\xeb\xf3,d775":"blo..nn\x00,d776"
+12:40:39.343553 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:40:39.350669 db@janitor F·4 G·0
+12:40:39.350669 db@open done T·13.1655ms
+12:40:39.369995 db@close closing
+12:40:39.369995 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:42:26.151804 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:42:26.155600 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:42:26.155600 db@open opening
+12:42:26.156123 journal@recovery F·1
+12:42:26.156123 journal@recovery recovering @305
+12:42:26.158985 memdb@flush created L0@307 N·2 S·1KiB "blo..\xe7\xc1-,v779":"blo..nn\x00,v778"
+12:42:26.159543 version@stat F·[2 1] S·3KiB[2KiB 1KiB] Sc·[0.50 0.00]
+12:42:26.165405 db@janitor F·5 G·0
+12:42:26.165405 db@open done T·9.8053ms
+=============== May 1, 2024 (CST) ===============
+12:42:32.805732 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:42:32.806768 version@stat F·[2 1] S·3KiB[2KiB 1KiB] Sc·[0.50 0.00]
+12:42:32.806768 db@open opening
+12:42:32.806768 journal@recovery F·1
+12:42:32.807284 journal@recovery recovering @308
+12:42:32.809672 memdb@flush created L0@310 N·4 S·1KiB "blo..\x18X\xbd,v784":"blo..nn\x00,d782"
+12:42:32.810725 version@stat F·[3 1] S·5KiB[4KiB 1KiB] Sc·[0.75 0.00]
+12:42:32.816368 db@janitor F·6 G·0
+12:42:32.816368 db@open done T·9.5999ms
+12:42:32.832316 db@close closing
+12:42:32.832316 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:43:27.392599 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:43:27.393625 version@stat F·[3 1] S·5KiB[4KiB 1KiB] Sc·[0.75 0.00]
+12:43:27.393625 db@open opening
+12:43:27.393625 journal@recovery F·1
+12:43:27.396268 journal@recovery recovering @311
+12:43:27.399076 memdb@flush created L0@313 N·4 S·1KiB "blo..\x18X\xbd,d786":"blo..nn\x00,d787"
+12:43:27.399578 version@stat F·[4 1] S·7KiB[5KiB 1KiB] Sc·[1.00 0.00]
+12:43:27.406076 db@janitor F·7 G·0
+12:43:27.406076 db@open done T·12.4503ms
+12:43:27.406076 table@compaction L0·4 -> L1·1 S·7KiB Q·790
+12:43:27.408123 table@build created L1@316 N·2 S·1KiB "blo..\xab(.,v789":"blo..nn\x00,v788"
+12:43:27.408123 version@stat F·[0 1] S·1KiB[0B 1KiB] Sc·[0.00 0.00]
+12:43:27.408635 table@compaction committed F-4 S-5KiB Ke·0 D·12 T·2.5589ms
+12:43:27.409624 table@remove removed @313
+12:43:27.409624 table@remove removed @310
+12:43:27.410620 table@remove removed @307
+12:43:27.410620 table@remove removed @304
+12:43:27.411617 table@remove removed @303
+=============== May 1, 2024 (CST) ===============
+12:46:51.525309 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:46:51.526306 version@stat F·[0 1] S·1KiB[0B 1KiB] Sc·[0.00 0.00]
+12:46:51.526306 db@open opening
+12:46:51.526306 journal@recovery F·1
+12:46:51.527304 journal@recovery recovering @314
+12:46:51.530292 memdb@flush created L0@317 N·2 S·172B "blo..\xab(.,d791":"blo..nn\x00,d792"
+12:46:51.530292 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:46:51.543527 db@janitor F·4 G·0
+12:46:51.543527 db@open done T·17.2209ms
+12:46:51.572117 db@close closing
+12:46:51.572117 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:48:04.713525 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:48:04.714533 version@stat F·[1 1] S·1KiB[172B 1KiB] Sc·[0.25 0.00]
+12:48:04.714533 db@open opening
+12:48:04.714533 journal@recovery F·1
+12:48:04.714533 journal@recovery recovering @318
+12:48:04.717519 memdb@flush created L0@320 N·2 S·2KiB "blo..\x8c\xaf`,v795":"blo..nn\x00,v794"
+12:48:04.718513 version@stat F·[2 1] S·4KiB[2KiB 1KiB] Sc·[0.50 0.00]
+12:48:04.726489 db@janitor F·5 G·0
+12:48:04.726489 db@open done T·11.9554ms
+12:48:04.743425 db@close closing
+12:48:04.743425 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+12:50:07.005010 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:50:07.006007 version@stat F·[2 1] S·4KiB[2KiB 1KiB] Sc·[0.50 0.00]
+12:50:07.006007 db@open opening
+12:50:07.006007 journal@recovery F·1
+12:50:07.008006 journal@recovery recovering @321
+12:50:07.009992 memdb@flush created L0@323 N·4 S·1KiB "blo..j\x94\xb9,v800":"blo..nn\x00,d798"
+12:50:07.010999 version@stat F·[3 1] S·5KiB[4KiB 1KiB] Sc·[0.75 0.00]
+12:50:07.017973 db@janitor F·6 G·0
+12:50:07.017973 db@open done T·11.9661ms
+12:50:07.697792 db@close closing
+12:50:07.698294 db@close done T·501.5µs
+=============== May 1, 2024 (CST) ===============
+12:51:32.633946 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:51:32.634948 version@stat F·[3 1] S·5KiB[4KiB 1KiB] Sc·[0.75 0.00]
+12:51:32.634948 db@open opening
+12:51:32.634948 journal@recovery F·1
+12:51:32.635940 journal@recovery recovering @324
+12:51:32.639511 memdb@flush created L0@326 N·12 S·46KiB "blo.._&9,v807":"blo..n\x01\x04,v812"
+12:51:32.640020 version@stat F·[4 1] S·52KiB[50KiB 1KiB] Sc·[1.00 0.00]
+12:51:32.649942 db@janitor F·7 G·0
+12:51:32.649942 db@open done T·14.9949ms
+12:51:32.649942 table@compaction L0·4 -> L1·1 S·52KiB Q·814
+12:51:32.652575 table@build created L1@329 N·10 S·46KiB "blo.._&9,v807":"blo..n\x01\x04,v812"
+12:51:32.652575 version@stat F·[0 1] S·46KiB[0B 46KiB] Sc·[0.00 0.00]
+12:51:32.653086 table@compaction committed F-4 S-5KiB Ke·0 D·12 T·2.5589ms
+12:51:32.653597 table@remove removed @326
+12:51:32.654099 table@remove removed @323
+12:51:32.654137 table@remove removed @320
+12:51:32.654757 table@remove removed @317
+12:51:32.654757 table@remove removed @316
+12:51:33.492536 db@close closing
+12:51:33.493537 db@close done T·1.0014ms
+=============== May 1, 2024 (CST) ===============
+12:52:54.388404 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+12:52:54.388404 version@stat F·[0 1] S·46KiB[0B 46KiB] Sc·[0.00 0.00]
+12:52:54.388404 db@open opening
+12:52:54.389388 journal@recovery F·1
+12:52:54.389388 journal@recovery recovering @327
+12:52:54.393383 memdb@flush created L0@330 N·20 S·120KiB "blo.._&9,d815":"blo..n\x01\x04,d824"
+12:52:54.393383 version@stat F·[1 1] S·167KiB[120KiB 46KiB] Sc·[0.25 0.00]
+12:52:54.398359 db@janitor F·4 G·0
+12:52:54.398359 db@open done T·9.9546ms
+12:52:54.513019 db@close closing
+12:52:54.513019 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+13:09:47.106991 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:09:47.107634 version@stat F·[1 1] S·167KiB[120KiB 46KiB] Sc·[0.25 0.00]
+13:09:47.107634 db@open opening
+13:09:47.107634 journal@recovery F·1
+13:09:47.108766 journal@recovery recovering @331
+13:09:47.112063 memdb@flush created L0@333 N·18 S·112KiB "blo..\xd9&\xb3,d836":"blo..n\x01\x04,d845"
+13:09:47.112641 version@stat F·[2 1] S·279KiB[232KiB 46KiB] Sc·[0.50 0.00]
+13:09:47.118520 db@janitor F·5 G·0
+13:09:47.118520 db@open done T·10.8858ms
+13:09:47.183259 db@close closing
+13:09:47.183259 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+13:13:53.447983 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:13:53.448980 version@stat F·[2 1] S·279KiB[232KiB 46KiB] Sc·[0.50 0.00]
+13:13:53.448980 db@open opening
+13:13:53.448980 journal@recovery F·1
+13:13:53.450973 journal@recovery recovering @334
+13:13:53.453964 memdb@flush created L0@336 N·18 S·47KiB "blo..\xdf\xe0\x88,v872":"blo..n\x01\x04,v871"
+13:13:53.453964 version@stat F·[3 1] S·327KiB[280KiB 46KiB] Sc·[0.75 0.00]
+13:13:53.459964 db@janitor F·6 G·0
+13:13:53.459964 db@open done T·10.9841ms
+13:13:53.533688 db@close closing
+13:13:53.534200 db@close done T·511.9µs
+=============== May 1, 2024 (CST) ===============
+13:18:41.292539 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:18:41.293535 version@stat F·[3 1] S·327KiB[280KiB 46KiB] Sc·[0.75 0.00]
+13:18:41.293535 db@open opening
+13:18:41.293535 journal@recovery F·1
+13:18:41.295529 journal@recovery recovering @337
+13:18:41.298520 memdb@flush created L0@339 N·20 S·46KiB "blo..\x12$\xc0,v885":"blo..n\x01\x04,d883"
+13:18:41.298520 version@stat F·[4 1] S·374KiB[327KiB 46KiB] Sc·[1.00 0.00]
+13:18:41.303502 db@janitor F·7 G·0
+13:18:41.303502 db@open done T·9.9667ms
+13:18:41.304499 table@compaction L0·4 -> L1·1 S·374KiB Q·894
+13:18:41.308486 table@build created L1@342 N·10 S·46KiB "blo..\x12$\xc0,v885":"blo..n\x01\x04,v892"
+13:18:41.308486 version@stat F·[0 1] S·46KiB[0B 46KiB] Sc·[0.00 0.00]
+13:18:41.309482 table@compaction committed F-4 S-327KiB Ke·0 D·76 T·4.9833ms
+13:18:41.309482 table@remove removed @339
+13:18:41.310479 table@remove removed @336
+13:18:41.311476 table@remove removed @333
+13:18:41.312473 table@remove removed @330
+13:18:41.313472 table@remove removed @329
+=============== May 1, 2024 (CST) ===============
+13:19:22.824621 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:19:22.824621 version@stat F·[0 1] S·46KiB[0B 46KiB] Sc·[0.00 0.00]
+13:19:22.825620 db@open opening
+13:19:22.825620 journal@recovery F·1
+13:19:22.828608 journal@recovery recovering @340
+13:19:22.832594 memdb@flush created L0@343 N·10 S·361B "blo..\x12$\xc0,d895":"blo..n\x01\x04,d904"
+13:19:22.833592 version@stat F·[1 1] S·47KiB[361B 46KiB] Sc·[0.25 0.00]
+13:19:22.838576 db@janitor F·4 G·0
+13:19:22.839572 db@open done T·13.9527ms
+13:19:22.912328 db@close closing
+13:19:22.913324 db@close done T·996.7µs
+=============== May 1, 2024 (CST) ===============
+13:23:17.583113 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:23:17.584110 version@stat F·[1 1] S·47KiB[361B 46KiB] Sc·[0.25 0.00]
+13:23:17.584110 db@open opening
+13:23:17.584110 journal@recovery F·1
+13:23:17.586103 journal@recovery recovering @344
+13:23:17.590094 memdb@flush created L0@346 N·10 S·49KiB "blo..\x05\x96\x1a,v909":"blo..n\x01\x04,v914"
+13:23:17.591086 version@stat F·[2 1] S·96KiB[49KiB 46KiB] Sc·[0.50 0.00]
+13:23:17.596071 db@janitor F·5 G·0
+13:23:17.596071 db@open done T·11.9611ms
+=============== May 1, 2024 (CST) ===============
+13:30:01.572441 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:30:01.573438 version@stat F·[2 1] S·96KiB[49KiB 46KiB] Sc·[0.50 0.00]
+13:30:01.573438 db@open opening
+13:30:01.573438 journal@recovery F·1
+13:30:01.575431 journal@recovery recovering @347
+13:30:01.577424 memdb@flush created L0@349 N·10 S·361B "blo..\x05\x96\x1a,d917":"blo..n\x01\x04,d926"
+13:30:01.578422 version@stat F·[3 1] S·96KiB[50KiB 46KiB] Sc·[0.75 0.00]
+13:30:01.583405 db@janitor F·6 G·0
+13:30:01.583405 db@open done T·9.967ms
+13:30:01.741875 db@close closing
+13:30:01.742872 db@close done T·997µs
+=============== May 1, 2024 (CST) ===============
+13:32:03.690864 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:32:03.691853 version@stat F·[3 1] S·96KiB[50KiB 46KiB] Sc·[0.75 0.00]
+13:32:03.691853 db@open opening
+13:32:03.691853 journal@recovery F·1
+13:32:03.691853 journal@recovery recovering @350
+13:32:03.694842 memdb@flush created L0@352 N·8 S·114KiB "blo..\x1b\x86E,v931":"blo..n\x01\x03,v934"
+13:32:03.694842 version@stat F·[4 1] S·211KiB[164KiB 46KiB] Sc·[1.00 0.00]
+13:32:03.699826 db@janitor F·7 G·0
+13:32:03.699826 db@open done T·7.9728ms
+13:32:03.699826 table@compaction L0·4 -> L1·1 S·211KiB Q·936
+13:32:03.702816 table@build created L1@355 N·8 S·114KiB "blo..\x1b\x86E,v931":"blo..n\x01\x03,v934"
+13:32:03.702816 version@stat F·[0 1] S·114KiB[0B 114KiB] Sc·[0.00 0.00]
+13:32:03.703813 table@compaction committed F-4 S-96KiB Ke·0 D·40 T·3.9873ms
+13:32:03.703813 table@remove removed @352
+13:32:03.703813 table@remove removed @349
+13:32:03.704809 table@remove removed @346
+13:32:03.704809 table@remove removed @343
+13:32:03.704809 table@remove removed @342
+=============== May 1, 2024 (CST) ===============
+13:34:10.813692 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:34:10.814209 version@stat F·[0 1] S·114KiB[0B 114KiB] Sc·[0.00 0.00]
+13:34:10.814209 db@open opening
+13:34:10.814209 journal@recovery F·1
+13:34:10.814718 journal@recovery recovering @353
+13:34:10.817292 memdb@flush created L0@356 N·8 S·317B "blo..\x1b\x86E,d937":"blo..n\x01\x03,d944"
+13:34:10.817817 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:34:10.823779 db@janitor F·4 G·0
+13:34:10.824292 db@open done T·10.0834ms
+=============== May 1, 2024 (CST) ===============
+13:35:40.686952 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:35:40.687976 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:35:40.687976 db@open opening
+13:35:40.687976 journal@recovery F·1
+13:35:40.689527 journal@recovery recovering @357
+13:35:40.690557 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:35:40.695762 db@janitor F·4 G·0
+13:35:40.695762 db@open done T·7.786ms
+=============== May 1, 2024 (CST) ===============
+13:37:01.654845 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:37:01.655849 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:37:01.655849 db@open opening
+13:37:01.655849 journal@recovery F·1
+13:37:01.655849 journal@recovery recovering @359
+13:37:01.656838 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:37:01.661822 db@janitor F·4 G·0
+13:37:01.661822 db@open done T·5.9731ms
+=============== May 1, 2024 (CST) ===============
+13:38:13.397681 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:38:13.398678 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:38:13.398678 db@open opening
+13:38:13.398678 journal@recovery F·1
+13:38:13.400680 journal@recovery recovering @361
+13:38:13.401668 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:38:13.406650 db@janitor F·4 G·0
+13:38:13.406650 db@open done T·7.9729ms
+=============== May 1, 2024 (CST) ===============
+13:40:58.008307 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:40:58.009304 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:40:58.009304 db@open opening
+13:40:58.009304 journal@recovery F·1
+13:40:58.009304 journal@recovery recovering @363
+13:40:58.010300 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:40:58.015284 db@janitor F·4 G·0
+13:40:58.015284 db@open done T·5.9801ms
+=============== May 1, 2024 (CST) ===============
+13:42:29.457961 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:42:29.457961 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:42:29.457961 db@open opening
+13:42:29.457961 journal@recovery F·1
+13:42:29.459954 journal@recovery recovering @365
+13:42:29.460952 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:42:29.466933 db@janitor F·4 G·0
+13:42:29.466933 db@open done T·8.9721ms
+=============== May 1, 2024 (CST) ===============
+13:42:56.920551 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:42:56.921548 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:42:56.921548 db@open opening
+13:42:56.921548 journal@recovery F·1
+13:42:56.923541 journal@recovery recovering @367
+13:42:56.923541 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:42:56.928524 db@janitor F·4 G·0
+13:42:56.928524 db@open done T·6.9757ms
+=============== May 1, 2024 (CST) ===============
+13:43:40.235537 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:43:40.235537 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:43:40.235537 db@open opening
+13:43:40.235537 journal@recovery F·1
+13:43:40.236543 journal@recovery recovering @369
+13:43:40.236543 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:43:40.243510 db@janitor F·4 G·0
+13:43:40.243510 db@open done T·7.9727ms
+=============== May 1, 2024 (CST) ===============
+13:58:15.939070 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+13:58:15.939070 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:58:15.939070 db@open opening
+13:58:15.940067 journal@recovery F·1
+13:58:15.942064 journal@recovery recovering @371
+13:58:15.943058 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+13:58:15.949036 db@janitor F·4 G·0
+13:58:15.949036 db@open done T·9.9658ms
+=============== May 1, 2024 (CST) ===============
+14:00:03.351115 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:00:03.351115 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:00:03.351115 db@open opening
+14:00:03.351115 journal@recovery F·1
+14:00:03.353138 journal@recovery recovering @373
+14:00:03.354106 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:00:03.360085 db@janitor F·4 G·0
+14:00:03.360085 db@open done T·8.97ms
+=============== May 1, 2024 (CST) ===============
+14:01:14.216042 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:01:14.216552 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:01:14.216552 db@open opening
+14:01:14.216552 journal@recovery F·1
+14:01:14.217564 journal@recovery recovering @375
+14:01:14.218473 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:01:14.223584 db@janitor F·4 G·0
+14:01:14.223584 db@open done T·7.0319ms
+=============== May 1, 2024 (CST) ===============
+14:01:41.081821 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:01:41.081821 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:01:41.081821 db@open opening
+14:01:41.082819 journal@recovery F·1
+14:01:41.082819 journal@recovery recovering @377
+14:01:41.083819 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:01:41.088798 db@janitor F·4 G·0
+14:01:41.088798 db@open done T·6.9767ms
+=============== May 1, 2024 (CST) ===============
+14:02:35.551398 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:02:35.552396 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:02:35.552396 db@open opening
+14:02:35.552396 journal@recovery F·1
+14:02:35.552396 journal@recovery recovering @379
+14:02:35.553391 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:02:35.558378 db@janitor F·4 G·0
+14:02:35.558378 db@open done T·5.9824ms
+=============== May 1, 2024 (CST) ===============
+14:06:00.842072 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:06:00.842072 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:06:00.842072 db@open opening
+14:06:00.843068 journal@recovery F·1
+14:06:00.843068 journal@recovery recovering @381
+14:06:00.843068 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:06:00.849038 db@janitor F·4 G·0
+14:06:00.849038 db@open done T·6.9661ms
+=============== May 1, 2024 (CST) ===============
+14:07:31.225515 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:07:31.225515 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:07:31.225515 db@open opening
+14:07:31.226512 journal@recovery F·1
+14:07:31.228506 journal@recovery recovering @383
+14:07:31.228506 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:07:31.235482 db@janitor F·4 G·0
+14:07:31.235482 db@open done T·9.9671ms
+=============== May 1, 2024 (CST) ===============
+14:08:01.280651 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:08:01.281647 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:08:01.281647 db@open opening
+14:08:01.281647 journal@recovery F·1
+14:08:01.281647 journal@recovery recovering @385
+14:08:01.282644 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:08:01.287628 db@janitor F·4 G·0
+14:08:01.287628 db@open done T·5.9812ms
+=============== May 1, 2024 (CST) ===============
+14:10:33.258032 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:10:33.259034 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:10:33.259034 db@open opening
+14:10:33.259034 journal@recovery F·1
+14:10:33.261022 journal@recovery recovering @387
+14:10:33.262018 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:10:33.267000 db@janitor F·4 G·0
+14:10:33.267000 db@open done T·7.9667ms
+=============== May 1, 2024 (CST) ===============
+14:24:15.691742 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:24:15.691742 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:24:15.691742 db@open opening
+14:24:15.691742 journal@recovery F·1
+14:24:15.692738 journal@recovery recovering @389
+14:24:15.692738 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:24:15.698719 db@janitor F·4 G·0
+14:24:15.698719 db@open done T·6.9772ms
+=============== May 1, 2024 (CST) ===============
+14:27:19.995141 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:27:19.996136 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:27:19.996136 db@open opening
+14:27:19.996136 journal@recovery F·1
+14:27:19.997133 journal@recovery recovering @391
+14:27:19.997133 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:27:20.003115 db@janitor F·4 G·0
+14:27:20.003115 db@open done T·6.9789ms
+14:27:20.190701 db@close closing
+14:27:20.190701 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+14:30:34.716621 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:30:34.717617 version@stat F·[1 1] S·114KiB[317B 114KiB] Sc·[0.25 0.00]
+14:30:34.717617 db@open opening
+14:30:34.717617 journal@recovery F·1
+14:30:34.719610 journal@recovery recovering @393
+14:30:34.721603 memdb@flush created L0@395 N·10 S·118KiB "blo..\xaa?u,v953":"blo..n\x01\x04,v954"
+14:30:34.722601 version@stat F·[2 1] S·232KiB[118KiB 114KiB] Sc·[0.50 0.00]
+14:30:34.727587 db@janitor F·5 G·0
+14:30:34.727587 db@open done T·9.9704ms
+14:30:34.923347 db@close closing
+14:30:34.923881 db@close done T·534.1µs
+=============== May 1, 2024 (CST) ===============
+14:33:26.418577 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:33:26.419574 version@stat F·[2 1] S·232KiB[118KiB 114KiB] Sc·[0.50 0.00]
+14:33:26.419574 db@open opening
+14:33:26.419574 journal@recovery F·1
+14:33:26.419574 journal@recovery recovering @396
+14:33:26.422562 memdb@flush created L0@398 N·18 S·115KiB "blo..\xaa?u,d957":"blo..n\x01\x04,d966"
+14:33:26.422562 version@stat F·[3 1] S·348KiB[233KiB 114KiB] Sc·[0.75 0.00]
+14:33:26.427545 db@janitor F·6 G·0
+14:33:26.427545 db@open done T·7.971ms
+14:33:26.641806 db@close closing
+14:33:26.642378 db@close done T·572.5µs
+=============== May 1, 2024 (CST) ===============
+14:36:08.094680 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:36:08.095698 version@stat F·[3 1] S·348KiB[233KiB 114KiB] Sc·[0.75 0.00]
+14:36:08.095698 db@open opening
+14:36:08.095698 journal@recovery F·1
+14:36:08.097681 journal@recovery recovering @399
+14:36:08.100661 memdb@flush created L0@401 N·18 S·122KiB "blo..\xdc\xf4\x90,v987":"blo..n\x01\x04,v992"
+14:36:08.100661 version@stat F·[4 1] S·470KiB[356KiB 114KiB] Sc·[1.00 0.00]
+14:36:08.105645 db@janitor F·7 G·0
+14:36:08.105645 db@open done T·9.9465ms
+14:36:08.105645 table@compaction L0·4 -> L1·1 S·470KiB Q·994
+14:36:08.108636 table@build created L1@404 N·10 S·122KiB "blo..\xdc\xf4\x90,v987":"blo..n\x01\x04,v992"
+14:36:08.108636 version@stat F·[0 1] S·122KiB[0B 122KiB] Sc·[0.00 0.00]
+14:36:08.110628 table@compaction committed F-4 S-348KiB Ke·0 D·52 T·4.9834ms
+14:36:08.110628 table@remove removed @401
+14:36:08.111625 table@remove removed @398
+14:36:08.111625 table@remove removed @395
+14:36:08.111625 table@remove removed @356
+14:36:08.112625 table@remove removed @355
+14:36:08.386729 db@close closing
+14:36:08.387244 db@close done T·515.1µs
+=============== May 1, 2024 (CST) ===============
+14:36:45.445369 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:36:45.445369 version@stat F·[0 1] S·122KiB[0B 122KiB] Sc·[0.00 0.00]
+14:36:45.445369 db@open opening
+14:36:45.446365 journal@recovery F·1
+14:36:45.446365 journal@recovery recovering @402
+14:36:45.450357 memdb@flush created L0@405 N·18 S·114KiB "blo..\xdc\xf4\x90,d995":"blo..n\x01\x04,d1004"
+14:36:45.450357 version@stat F·[1 1] S·237KiB[114KiB 122KiB] Sc·[0.25 0.00]
+14:36:45.455338 db@janitor F·4 G·0
+14:36:45.455338 db@open done T·9.9688ms
+14:36:45.729095 db@close closing
+14:36:45.729618 db@close done T·523µs
+=============== May 1, 2024 (CST) ===============
+14:38:52.528640 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:38:52.529637 version@stat F·[1 1] S·237KiB[114KiB 122KiB] Sc·[0.25 0.00]
+14:38:52.529637 db@open opening
+14:38:52.529637 journal@recovery F·1
+14:38:52.530634 journal@recovery recovering @406
+14:38:52.533625 memdb@flush created L0@408 N·16 S·116KiB "blo..\x92\x95\x13,d1014":"blo..n\x01\x03,d1021"
+14:38:52.534620 version@stat F·[2 1] S·353KiB[230KiB 122KiB] Sc·[0.50 0.00]
+14:38:52.539603 db@janitor F·5 G·0
+14:38:52.539603 db@open done T·9.9664ms
+14:38:52.784332 db@close closing
+14:38:52.784842 db@close done T·510.4µs
+=============== May 1, 2024 (CST) ===============
+14:43:37.387734 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:43:37.388248 version@stat F·[2 1] S·353KiB[230KiB 122KiB] Sc·[0.50 0.00]
+14:43:37.388248 db@open opening
+14:43:37.388766 journal@recovery F·1
+14:43:37.389268 journal@recovery recovering @409
+14:43:37.392387 memdb@flush created L0@411 N·16 S·104KiB "blo..\x7fQ@,v1040":"blo..n\x01\x03,d1038"
+14:43:37.392903 version@stat F·[3 1] S·457KiB[335KiB 122KiB] Sc·[0.75 0.00]
+14:43:37.397662 db@janitor F·6 G·0
+14:43:37.397662 db@open done T·9.4135ms
+14:43:37.612271 db@close closing
+14:43:37.612786 db@close done T·514.7µs
+=============== May 1, 2024 (CST) ===============
+14:45:59.113362 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+14:45:59.113362 version@stat F·[3 1] S·457KiB[335KiB 122KiB] Sc·[0.75 0.00]
+14:45:59.113362 db@open opening
+14:45:59.114359 journal@recovery F·1
+14:45:59.115355 journal@recovery recovering @412
+14:45:59.119342 memdb@flush created L0@414 N·18 S·119KiB "blo..\xddri,v1059":"blo..n\x01\x04,v1064"
+14:45:59.119342 version@stat F·[4 1] S·576KiB[454KiB 122KiB] Sc·[1.00 0.00]
+14:45:59.124326 db@janitor F·7 G·0
+14:45:59.124326 db@open done T·10.9646ms
+14:45:59.124326 table@compaction L0·4 -> L1·1 S·576KiB Q·1066
+14:45:59.128311 table@build created L1@417 N·10 S·119KiB "blo..\xddri,v1059":"blo..n\x01\x04,v1064"
+14:45:59.128311 version@stat F·[0 1] S·119KiB[0B 119KiB] Sc·[0.00 0.00]
+14:45:59.130303 table@compaction committed F-4 S-457KiB Ke·0 D·68 T·5.9769ms
+14:45:59.130303 table@remove removed @414
+14:45:59.131301 table@remove removed @411
+14:45:59.131301 table@remove removed @408
+14:45:59.131301 table@remove removed @405
+14:45:59.132296 table@remove removed @404
+14:45:59.386915 db@close closing
+14:45:59.386951 db@close done T·36.6µs
+=============== May 1, 2024 (CST) ===============
+15:12:25.696411 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:12:25.696925 version@stat F·[0 1] S·119KiB[0B 119KiB] Sc·[0.00 0.00]
+15:12:25.696925 db@open opening
+15:12:25.696925 journal@recovery F·1
+15:12:25.699053 journal@recovery recovering @415
+15:12:25.701627 memdb@flush created L0@418 N·20 S·120KiB "blo..\xddri,d1067":"blo..n\x01\x04,d1076"
+15:12:25.701627 version@stat F·[1 1] S·239KiB[120KiB 119KiB] Sc·[0.25 0.00]
+15:12:25.706787 db@janitor F·4 G·0
+15:12:25.706787 db@open done T·9.8623ms
+=============== May 1, 2024 (CST) ===============
+15:15:13.410875 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:15:13.411872 version@stat F·[1 1] S·239KiB[120KiB 119KiB] Sc·[0.25 0.00]
+15:15:13.411872 db@open opening
+15:15:13.411872 journal@recovery F·1
+15:15:13.412874 journal@recovery recovering @419
+15:15:13.416854 memdb@flush created L0@421 N·10 S·361B "blo..~\xa32,d1088":"blo..n\x01\x04,d1097"
+15:15:13.416854 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:15:13.422834 db@janitor F·5 G·0
+15:15:13.422834 db@open done T·10.9626ms
+=============== May 1, 2024 (CST) ===============
+15:16:49.973931 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:16:49.974926 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:16:49.974926 db@open opening
+15:16:49.974926 journal@recovery F·1
+15:16:49.975923 journal@recovery recovering @422
+15:16:49.975923 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:16:49.983896 db@janitor F·5 G·0
+15:16:49.983896 db@open done T·8.9695ms
+=============== May 1, 2024 (CST) ===============
+15:29:36.144717 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:29:36.144717 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:29:36.144717 db@open opening
+15:29:36.144717 journal@recovery F·1
+15:29:36.145678 journal@recovery recovering @424
+15:29:36.146675 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:29:36.154160 db@janitor F·5 G·0
+15:29:36.154160 db@open done T·9.4431ms
+=============== May 1, 2024 (CST) ===============
+15:40:18.668710 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:40:18.669706 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:40:18.669706 db@open opening
+15:40:18.669706 journal@recovery F·1
+15:40:18.671700 journal@recovery recovering @426
+15:40:18.671700 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:40:18.680671 db@janitor F·5 G·0
+15:40:18.680671 db@open done T·10.9643ms
+=============== May 1, 2024 (CST) ===============
+15:46:01.954906 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:46:01.955957 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:46:01.955957 db@open opening
+15:46:01.955957 journal@recovery F·1
+15:46:01.958085 journal@recovery recovering @428
+15:46:01.958590 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:46:01.966029 db@janitor F·5 G·0
+15:46:01.966029 db@open done T·10.0713ms
+=============== May 1, 2024 (CST) ===============
+15:46:27.134444 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:46:27.135440 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:46:27.135440 db@open opening
+15:46:27.135440 journal@recovery F·1
+15:46:27.137434 journal@recovery recovering @430
+15:46:27.139437 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:46:27.144413 db@janitor F·5 G·0
+15:46:27.144413 db@open done T·8.9733ms
+=============== May 1, 2024 (CST) ===============
+15:52:02.021013 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:52:02.022010 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:52:02.022010 db@open opening
+15:52:02.022010 journal@recovery F·1
+15:52:02.022010 journal@recovery recovering @432
+15:52:02.023009 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:52:02.027989 db@janitor F·5 G·0
+15:52:02.027989 db@open done T·5.9789ms
+=============== May 1, 2024 (CST) ===============
+15:53:07.165509 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:53:07.165509 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:53:07.165509 db@open opening
+15:53:07.166516 journal@recovery F·1
+15:53:07.166516 journal@recovery recovering @434
+15:53:07.166516 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:53:07.171488 db@janitor F·5 G·0
+15:53:07.172485 db@open done T·6.9763ms
+=============== May 1, 2024 (CST) ===============
+15:57:36.597118 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+15:57:36.597118 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:57:36.597118 db@open opening
+15:57:36.598114 journal@recovery F·1
+15:57:36.598114 journal@recovery recovering @436
+15:57:36.599111 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+15:57:36.604095 db@janitor F·5 G·0
+15:57:36.604095 db@open done T·6.977ms
+=============== May 1, 2024 (CST) ===============
+16:02:11.326923 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:02:11.326923 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:02:11.326923 db@open opening
+16:02:11.326923 journal@recovery F·1
+16:02:11.328916 journal@recovery recovering @438
+16:02:11.329915 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:02:11.334482 db@janitor F·5 G·0
+16:02:11.334482 db@open done T·7.5598ms
+=============== May 1, 2024 (CST) ===============
+16:05:51.565618 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:05:51.566615 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:05:51.566615 db@open opening
+16:05:51.566615 journal@recovery F·1
+16:05:51.566615 journal@recovery recovering @440
+16:05:51.567612 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:05:51.572598 db@janitor F·5 G·0
+16:05:51.572598 db@open done T·5.9838ms
+=============== May 1, 2024 (CST) ===============
+16:06:53.808913 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:06:53.808913 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:06:53.808913 db@open opening
+16:06:53.808913 journal@recovery F·1
+16:06:53.810906 journal@recovery recovering @442
+16:06:53.811902 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:06:53.818883 db@janitor F·5 G·0
+16:06:53.818883 db@open done T·9.97ms
+=============== May 1, 2024 (CST) ===============
+16:12:01.908894 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:12:01.909890 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:12:01.909890 db@open opening
+16:12:01.909890 journal@recovery F·1
+16:12:01.909890 journal@recovery recovering @444
+16:12:01.910880 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:12:01.915866 db@janitor F·5 G·0
+16:12:01.915866 db@open done T·5.9765ms
+16:12:02.196140 db@close closing
+16:12:02.196140 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+16:14:15.601888 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:14:15.602884 version@stat F·[2 1] S·239KiB[120KiB 119KiB] Sc·[0.50 0.00]
+16:14:15.602884 db@open opening
+16:14:15.602884 journal@recovery F·1
+16:14:15.604888 journal@recovery recovering @446
+16:14:15.607868 memdb@flush created L0@448 N·8 S·74KiB "blo..\xbf\x95`,v1106":"blo..n\x01\x03,v1105"
+16:14:15.607868 version@stat F·[3 1] S·313KiB[194KiB 119KiB] Sc·[0.75 0.00]
+16:14:15.612851 db@janitor F·6 G·0
+16:14:15.612851 db@open done T·9.9668ms
+16:14:15.861022 db@close closing
+16:14:15.861022 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+16:23:31.235315 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:23:31.235841 version@stat F·[3 1] S·313KiB[194KiB 119KiB] Sc·[0.75 0.00]
+16:23:31.235841 db@open opening
+16:23:31.236356 journal@recovery F·1
+16:23:31.236872 journal@recovery recovering @449
+16:23:31.239676 memdb@flush created L0@451 N·16 S·77KiB "blo..\xbf\x95`,d1108":"blo..n\x01\x03,d1115"
+16:23:31.240214 version@stat F·[4 1] S·391KiB[271KiB 119KiB] Sc·[1.00 0.00]
+16:23:31.247806 db@janitor F·7 G·0
+16:23:31.247806 db@open done T·11.9658ms
+16:23:31.247806 table@compaction L0·4 -> L1·1 S·391KiB Q·1124
+16:23:31.251779 table@build created L1@454 N·8 S·77KiB "blo..g\x05c,v1117":"blo..n\x01\x03,v1122"
+16:23:31.251779 version@stat F·[0 1] S·77KiB[0B 77KiB] Sc·[0.00 0.00]
+16:23:31.252680 table@compaction committed F-4 S-314KiB Ke·0 D·56 T·4.8731ms
+16:23:31.252680 table@remove removed @451
+16:23:31.253677 table@remove removed @448
+16:23:31.253677 table@remove removed @421
+16:23:31.253677 table@remove removed @418
+16:23:31.254673 table@remove removed @417
+16:23:31.510723 db@close closing
+16:23:31.511310 db@close done T·587.6µs
+=============== May 1, 2024 (CST) ===============
+16:26:55.760254 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:26:55.761251 version@stat F·[0 1] S·77KiB[0B 77KiB] Sc·[0.00 0.00]
+16:26:55.761251 db@open opening
+16:26:55.761251 journal@recovery F·1
+16:26:55.761251 journal@recovery recovering @452
+16:26:55.763244 memdb@flush created L0@455 N·16 S·75KiB "blo..g\x05c,d1125":"blo..n\x01\x03,d1132"
+16:26:55.764240 version@stat F·[1 1] S·152KiB[75KiB 77KiB] Sc·[0.25 0.00]
+16:26:55.769225 db@janitor F·4 G·0
+16:26:55.769225 db@open done T·7.9738ms
+16:26:56.043101 db@close closing
+16:26:56.043613 db@close done T·511.5µs
+=============== May 1, 2024 (CST) ===============
+16:28:53.918819 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:28:53.919932 version@stat F·[1 1] S·152KiB[75KiB 77KiB] Sc·[0.25 0.00]
+16:28:53.919932 db@open opening
+16:28:53.919932 journal@recovery F·1
+16:28:53.920447 journal@recovery recovering @456
+16:28:53.922618 memdb@flush created L0@458 N·18 S·81KiB "blo..\xe8xz,v1151":"blo..n\x01\x04,v1158"
+16:28:53.923130 version@stat F·[2 1] S·234KiB[157KiB 77KiB] Sc·[0.50 0.00]
+16:28:53.927791 db@janitor F·5 G·0
+16:28:53.928304 db@open done T·8.3722ms
+16:28:54.155635 db@close closing
+16:28:54.155635 db@close done T·0s
+=============== May 1, 2024 (CST) ===============
+16:46:02.509679 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
+16:46:02.510675 version@stat F·[2 1] S·234KiB[157KiB 77KiB] Sc·[0.50 0.00]
+16:46:02.510675 db@open opening
+16:46:02.510675 journal@recovery F·1
+16:46:02.510675 journal@recovery recovering @459
+16:46:02.513665 memdb@flush created L0@461 N·18 S·75KiB "blo..\xe8xz,d1161":"blo..n\x01\x04,d1170"
+16:46:02.514662 version@stat F·[3 1] S·309KiB[232KiB 77KiB] Sc·[0.75 0.00]
+16:46:02.524628 db@janitor F·6 G·0
+16:46:02.524628 db@open done T·13.9531ms
+16:46:03.460691 db@close closing
+16:46:03.461688 db@close done T·996.5µs
diff --git a/blockDB_1408/MANIFEST-000175 b/blockDB_1408/MANIFEST-000175
deleted file mode 100644
index 866dc8f..0000000
Binary files a/blockDB_1408/MANIFEST-000175 and /dev/null differ
diff --git a/blockDB_1408/MANIFEST-000463 b/blockDB_1408/MANIFEST-000463
new file mode 100644
index 0000000..7101954
Binary files /dev/null and b/blockDB_1408/MANIFEST-000463 differ
diff --git a/cert/client_prikey.txt b/cert/client_prikey.txt
index b5b58f3..101ec7b 100644
--- a/cert/client_prikey.txt
+++ b/cert/client_prikey.txt
@@ -1 +1 @@
-000001
\ No newline at end of file
+6d0770e05a3ce79a32e2aea78fcda3bcb4054b86df8369e50a5ab4b7e26f1d38
\ No newline at end of file
diff --git a/cert/client_pubkey.txt b/cert/client_pubkey.txt
index b5b58f3..77a951d 100644
--- a/cert/client_pubkey.txt
+++ b/cert/client_pubkey.txt
@@ -1 +1 @@
-000001
\ No newline at end of file
+226383fbed07e3841affd83f7681f90602ad08e57bd27d6cad9a666d81b8b7ef17672b52cbc215c51d308299a1b640d6c0229bf761364cca3eae31d16c13da29
\ No newline at end of file
diff --git a/cert/order_prikey.txt b/cert/order_prikey.txt
index f810dcb..101ec7b 100644
--- a/cert/order_prikey.txt
+++ b/cert/order_prikey.txt
@@ -1 +1 @@
-000002
\ No newline at end of file
+6d0770e05a3ce79a32e2aea78fcda3bcb4054b86df8369e50a5ab4b7e26f1d38
\ No newline at end of file
diff --git a/cert/order_pubkey.txt b/cert/order_pubkey.txt
index f810dcb..77a951d 100644
--- a/cert/order_pubkey.txt
+++ b/cert/order_pubkey.txt
@@ -1 +1 @@
-000002
\ No newline at end of file
+226383fbed07e3841affd83f7681f90602ad08e57bd27d6cad9a666d81b8b7ef17672b52cbc215c51d308299a1b640d6c0229bf761364cca3eae31d16c13da29
\ No newline at end of file
diff --git a/cert/peer_prikey.txt b/cert/peer_prikey.txt
index 12c5c38..101ec7b 100644
--- a/cert/peer_prikey.txt
+++ b/cert/peer_prikey.txt
@@ -1 +1 @@
-000003
\ No newline at end of file
+6d0770e05a3ce79a32e2aea78fcda3bcb4054b86df8369e50a5ab4b7e26f1d38
\ No newline at end of file
diff --git a/cert/peer_pubkey.txt b/cert/peer_pubkey.txt
index 12c5c38..77a951d 100644
--- a/cert/peer_pubkey.txt
+++ b/cert/peer_pubkey.txt
@@ -1 +1 @@
-000003
\ No newline at end of file
+226383fbed07e3841affd83f7681f90602ad08e57bd27d6cad9a666d81b8b7ef17672b52cbc215c51d308299a1b640d6c0229bf761364cca3eae31d16c13da29
\ No newline at end of file
diff --git a/common/kgc/gofunc.go b/common/kgc/gofunc.go
new file mode 100644
index 0000000..240778b
--- /dev/null
+++ b/common/kgc/gofunc.go
@@ -0,0 +1,230 @@
+package kgc
+
+import (
+ "crypto/elliptic"
+ "crypto/rand"
+ "crypto/sha256"
+ "errors"
+ "fmt"
+ "math/big"
+)
+
+func hash1(curve elliptic.Curve, ID []byte, Qx, Qy, PKx, PKy *big.Int) *big.Int {
+ // 创建 SHA-256 散列器
+ h := sha256.New()
+
+ // 更新散列器以包含字符串 ID 的内容
+ h.Write(ID)
+
+ // 更新散列器以包含点 Q 的坐标信息
+ h.Write(Qx.Bytes())
+ h.Write(Qy.Bytes())
+
+ // 更新散列器以包含公钥 PK_pub 的坐标信息
+ h.Write(PKx.Bytes())
+ h.Write(PKy.Bytes())
+
+ // 计算 SHA-256 散列值
+ hash := h.Sum(nil)
+
+ // 将散列值转换为大整数
+ hBig := new(big.Int).SetBytes(hash)
+
+ // 对大整数 hBig 进行幂运算,幂为 1,模数为 n
+ hBig.Mod(hBig, curve.Params().N)
+
+ return hBig
+}
+
+func hash2(curve elliptic.Curve, ID []byte, Xx, Xy *big.Int) *big.Int {
+ // 计算 hash 值 H_2(ID, X)
+ hash := sha256.New()
+
+ hash.Write(ID)
+
+ hash.Write(Xx.Bytes())
+ hash.Write(Xy.Bytes())
+
+ // 计算 SHA-256 散列值
+ h2 := hash.Sum(nil)
+
+ // 转换为大整数
+ h2Big := new(big.Int).SetBytes(h2)
+
+ // 对大整数 h2Big 进行幂运算,幂为 1,模数为 n
+ h2Big.Mod(h2Big, curve.Params().N)
+
+ return h2Big
+}
+
+func hash3(curve elliptic.Curve, ID, msg []byte, Qx, Qy, Ux, Uy, PKx, PKy *big.Int) *big.Int {
+ // 创建 SHA-256 散列器
+ h := sha256.New()
+
+ // 更新散列器以包含字符串 ID 的内容
+ h.Write(ID)
+
+ // 更新散列器以包含字符串 msg 的内容
+ h.Write(msg)
+
+ // 更新散列器以包含点 Q 的坐标信息
+ h.Write(Qx.Bytes())
+ h.Write(Qy.Bytes())
+
+ // 更新散列器以包含点 U 的坐标信息
+ h.Write(Ux.Bytes())
+ h.Write(Uy.Bytes())
+
+ // 更新散列器以包含公钥 PK_pub 的坐标信息
+ h.Write(PKx.Bytes())
+ h.Write(PKy.Bytes())
+
+ // 计算 SHA-256 散列值
+ hash := h.Sum(nil)
+
+ // 将散列值转换为大整数
+ hBig := new(big.Int).SetBytes(hash)
+ hBig.Mod(hBig, curve.Params().N)
+
+ return hBig
+}
+
+func equal(lx, ly, rx, ry *big.Int) error {
+ if lx.Cmp(rx) == 0 && ly.Cmp(ry) == 0 {
+ return nil
+ }
+ return errors.New("point compare failed ")
+
+}
+
+func genKGCKey(curve elliptic.Curve) (*big.Int, *big.Int, *big.Int) {
+ // 随机生成 msk
+ msk, _ := rand.Int(rand.Reader, curve.Params().N)
+ PKx, PKy := curve.ScalarBaseMult(msk.Bytes())
+ return PKx, PKy, msk
+}
+
+func genSecret(curve elliptic.Curve) (*big.Int, *big.Int, *big.Int) {
+ // 随机生成 x
+ x, _ := rand.Int(rand.Reader, curve.Params().N)
+ Xx, Xy := curve.ScalarBaseMult(x.Bytes())
+ return Xx, Xy, x
+}
+
+func genPartialKey(curve elliptic.Curve, ID []byte, msk, Xx, Xy, PKx, PKy *big.Int) (*big.Int, *big.Int, *big.Int) {
+ // 随机生成 r
+ r, _ := rand.Int(rand.Reader, curve.Params().N)
+ Rx, Ry := curve.ScalarBaseMult(r.Bytes())
+
+ //计算h2的hash值
+ h2Big := hash2(curve, ID, Xx, Xy)
+
+ //计算 h2Big * X
+ tx, ty := curve.ScalarMult(Xx, Xy, h2Big.Bytes())
+
+ //计算 Q = R + h2 * X
+ Qx, Qy := curve.Add(Rx, Ry, tx, ty)
+
+ //计算hash1的值
+ h1Big := hash1(curve, ID, Qx, Qy, PKx, PKy)
+
+ //计算 d = r + msk * h1 mod n
+ temp := new(big.Int).Mul(msk, h1Big)
+ d := new(big.Int).Add(r, temp)
+ d.Mod(d, curve.Params().N)
+ return d, Qx, Qy
+
+}
+
+func VerifyEquation(curve elliptic.Curve, ID []byte, d, Qx, Qy, Xx, Xy, PKx, PKy *big.Int) error {
+ //计算等式左值 + h2 * X
+ lx, ly := curve.ScalarBaseMult(d.Bytes())
+ h2Big := hash2(curve, ID, Xx, Xy)
+ h2Xx, h2Xy := curve.ScalarMult(Xx, Xy, h2Big.Bytes())
+ lx, ly = curve.Add(lx, ly, h2Xx, h2Xy)
+
+ //计算 Q + h1 * PK(t)
+ h1Big := hash1(curve, ID, Qx, Qy, PKx, PKy)
+ tx, ty := curve.ScalarMult(PKx, PKy, h1Big.Bytes())
+
+ rx, ry := curve.Add(Qx, Qy, tx, ty)
+
+ err := equal(lx, ly, rx, ry)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func genPriKey(curve elliptic.Curve, ID []byte, x, d, Xx, Xy *big.Int) *big.Int {
+ //计算h2Big
+ h2Big := hash2(curve, ID, Xx, Xy)
+
+ //计算s = d + h2Big * x
+ temp := new(big.Int).Mul(h2Big, x)
+ sUser := new(big.Int).Add(d, temp)
+
+ //s = s mod n
+ sUser = sUser.Mod(sUser, curve.Params().N)
+
+ return sUser
+}
+
+func SignThumb(curve elliptic.Curve, ID, msg []byte, s, Qx, Qy, PKx, PKy *big.Int) (*big.Int, *big.Int, *big.Int) {
+ // 生成小于素数 的随机数 u
+ u, _ := rand.Int(rand.Reader, curve.Params().N)
+
+ // 生成点U
+ Ux, Uy := curve.ScalarMult(curve.Params().Gx, curve.Params().Gy, u.Bytes())
+
+ if !curve.IsOnCurve(Ux, Uy) {
+ fmt.Println("zhuyi ----------------------------------------------U不在曲线上!!!!")
+ }
+
+ //计算h3
+ h3 := hash3(curve, ID, msg, Qx, Qy, Ux, Uy, PKx, PKy)
+
+ // 计算 v = u + h3 * s mod n
+ // 计算 tmp = sa * h_3_big
+ tmp := new(big.Int).Mul(h3, s)
+
+ // 计算 v = u + tmp
+ v := new(big.Int).Add(u, tmp)
+
+ // 计算 v = v mod N
+ v.Mod(v, curve.Params().N)
+
+ return Ux, Uy, v
+}
+
+func VerifyThumb(curve elliptic.Curve, ID, msg []byte, Qx, Qy, PKx, PKy, Ux, Uy, v *big.Int) error {
+ //计算h1和h3
+ h1Big := hash1(curve, ID, Qx, Qy, PKx, PKy)
+ h3Big := hash3(curve, ID, msg, Qx, Qy, Ux, Uy, PKx, PKy)
+
+ //验证等式 v*P = U + h_3(Q + h_1 * PK_pub)
+ //等式左边
+ lx, ly := curve.ScalarBaseMult(v.Bytes())
+
+ // 计算 t = h_1_big * PK_pub
+ tx, ty := curve.ScalarMult(PKx, PKy, h1Big.Bytes())
+
+ // 计算 out = Q + t
+ tx, ty = curve.Add(Qx, Qy, tx, ty)
+
+ // 计算 t = h_3_big * t
+ tx, ty = curve.ScalarMult(tx, ty, h3Big.Bytes())
+
+ // 计算 t = U + tmp_p
+ rx, ry := curve.Add(Ux, Uy, tx, ty)
+
+ //比较等式左右两值是否相等
+ err := equal(lx, ly, rx, ry)
+ if err != nil {
+ fmt.Println("invalid!")
+ return err
+ }
+ //fmt.Println("valid!")
+ return nil
+}
diff --git a/common/kgc/sign.go b/common/kgc/sign.go
index 336166b..7e225f6 100644
--- a/common/kgc/sign.go
+++ b/common/kgc/sign.go
@@ -1,52 +1,72 @@
package kgc
import (
- "bytes"
- "crypto/sha256"
- "errors"
+ "crypto/elliptic"
"fmt"
)
-func Certificateless_Sign(pri_key []byte, digest []byte) (signature []byte, err error) {
+// Certificateless_Sign(prikey, pubkey, msg, ID)
+func Certificateless_Sign(pri_key, pub_key, msg []byte, id string) (signature []byte, err error) {
+
+ curve := elliptic.P256()
+ s := BytesToBig(pri_key)
+ x, y := bytes_halve(pub_key)
+ Qx := BytesToBig(x)
+ Qy := BytesToBig(y)
+ //fmt.Println("公钥第一部分长度为:", len(x))
+ //fmt.Println("公钥第二部分长度为:", len(y))
+
+ ID := []byte(id)
+
+ PK_pub := "7196e9722d561a0fea21485fc16140096cc9b88f7174aec7508f14a7b85b61ba299292c726367bbcbf8f00b977849164bf9d3fd6260e55dd6498517bc0dec541"
+ pk1, pk2 := string_halve(PK_pub)
+ //fmt.Println("KGC公钥第二部分长度为:", len([]byte(pk1)))
+ //fmt.Println("KGC公钥第二部分长度为:", len([]byte(pk2)))
+ PKx := BytesToBig([]byte(pk1))
+ PKy := BytesToBig([]byte(pk2))
+
+ Ux, Uy, v := SignThumb(curve, ID, msg, s, Qx, Qy, PKx, PKy)
+ sig := mergeBigInts(Ux, Uy, v)
+ //fmt.Println("打印签名长度:", len(sig))
+
+ //fmt.Println("签名得到的v值为:", v)
+
+ return sig, nil
- var signed_data []byte
- if pri_key[5] == '1' {
- digest[31] = '1'
- signed_data = digest[:]
- }
- if pri_key[5] == '2' {
- digest[31] = '2'
- signed_data = digest[:]
- }
- if pri_key[5] == '3' {
- digest[31] = '3'
- signed_data = digest[:]
- }
- //signed_data := append(pri_key, digest...)
- //fmt.Println("signdata is ", signed_data)
- return signed_data, nil
}
-func Certificateless_Verify(publicKey []byte, signature, msg []byte) error {
+// Certificateless_Verify(publicKey, ID, signature, msg)
+func Certificateless_Verify(pubkey []byte, id string, signature, msg []byte) error {
- digest := sha256.Sum256(msg)
- var data []byte
- if publicKey[5] == '1' {
- digest[31] = '1'
- data = digest[:]
- }
- if publicKey[5] == '2' {
- digest[31] = '2'
- data = digest[:]
- }
- if publicKey[5] == '3' {
- digest[31] = '3'
- data = digest[:]
- }
- fmt.Println("明文的摘要值为:", digest, "应该的签名为:", data, "实际的签名:", signature)
- if equal := bytes.Equal(data, signature); !equal {
+ //x, y := bytes_halve(pubkey)
+ //fmt.Println("公钥第一部分长度为:", len(x))
+ //fmt.Println("公钥第二部分长度为:", len(y))
+ //fmt.Println("接收到消息!!!!!!!!!")
+ curve := elliptic.P256()
- return errors.New("verifySignature 11 error")
+ x, y := bytes_halve(pubkey)
+
+ Qx := BytesToBig(x)
+ Qy := BytesToBig(y)
+
+ //fmt.Println(pubkey)
+
+ ID := []byte(id)
+
+ PK_pub := "7196e9722d561a0fea21485fc16140096cc9b88f7174aec7508f14a7b85b61ba299292c726367bbcbf8f00b977849164bf9d3fd6260e55dd6498517bc0dec541"
+ pk1, pk2 := string_halve(PK_pub)
+ PKx := BytesToBig([]byte(pk1))
+ PKy := BytesToBig([]byte(pk2))
+
+ Ux, Uy, v := AnalSig(signature)
+ //fmt.Println("打印接收参数111:", v)
+ //fmt.Println("转换后的签名结果为", Ux, Uy, v)
+
+ err := VerifyThumb(curve, ID, msg, Qx, Qy, PKx, PKy, Ux, Uy, v)
+ if err != nil {
+ fmt.Println("shibai-----------------------------------------")
+ return err
}
+ //fmt.Println("签名验证chenggongllllllll!!!!!!!!!!!!sssssssssssssssssss")*/
return nil
}
diff --git a/common/kgc/util.go b/common/kgc/util.go
index 05f2118..16214e2 100644
--- a/common/kgc/util.go
+++ b/common/kgc/util.go
@@ -3,7 +3,9 @@ package kgc
import (
"fmt"
"io/ioutil"
+ "math/big"
"os"
+ "path/filepath"
pb "schain/proto"
"schain/proto/util"
)
@@ -49,3 +51,125 @@ func InitIdentity(IdentityPath string, mspID string) ([]byte, error) {
}
return util.MarshalOrPanic(sId), nil
}
+
+func string_halve(str string) (string, string) {
+ // 计算字符串长度
+ length := len(str)
+
+ // 将字符串分成两部分
+ mid := length / 2
+ part1 := str[:mid]
+ part2 := str[mid:]
+
+ //fmt.Println("第一部分:", part1)
+ //fmt.Println("第二部分:", part2)
+ return part1, part2
+
+}
+
+func string_trisect(str string) (string, string, string) {
+ length := len(str)
+
+ // 计算每个子字符串的长度
+ subStrLen := length / 3
+
+ // 切分字符串
+ part1 := str[:subStrLen]
+ part2 := str[subStrLen : 2*subStrLen]
+ part3 := str[2*subStrLen:]
+
+ return part1, part2, part3
+}
+
+func bytes_halve(slice []byte) ([]byte, []byte) {
+ length := len(slice)
+
+ // 计算每个部分的长度
+ halfLength := length / 2
+
+ // 切分切片
+ part1 := slice[:halfLength]
+ part2 := slice[halfLength:]
+
+ return part1, part2
+}
+
+func bytes_trisect(slice []byte) ([]byte, []byte, []byte) {
+ length := len(slice)
+
+ // 计算每个部分的长度
+ partLength := length / 3
+
+ // 切分切片
+ part1 := slice[:partLength]
+ part2 := slice[partLength : 2*partLength]
+ part3 := slice[2*partLength:]
+
+ return part1, part2, part3
+}
+
+func mergeBigInts(bigInts ...*big.Int) []byte {
+ var mergedBytes []byte
+
+ for _, num := range bigInts {
+ buf := make([]byte, 32)
+ num.FillBytes(buf)
+ //fmt.Println("各个部分长度为:", len(numBytes))
+ mergedBytes = append(mergedBytes, buf...)
+ }
+
+ return mergedBytes
+}
+
+func readFileFromDirectory(directory, filename string) ([]byte, error) {
+ // 构造文件的完整路径
+ filePath := filepath.Join(directory, filename)
+
+ // 读取文件内容
+ data, err := os.ReadFile(filePath)
+ if err != nil {
+ return nil, err
+ }
+
+ return data, nil
+}
+
+func writeToFolder(directory, filename string, data []byte) error {
+ // 检查 cert 文件夹是否存在
+ if _, err := os.Stat(directory); os.IsNotExist(err) {
+ // 如果文件夹不存在,则创建它
+ err := os.Mkdir(directory, 0755)
+ if err != nil {
+ return fmt.Errorf("创建文件夹时出错: %v", err)
+ }
+ }
+
+ // 构造文件的完整路径
+ filePath := filepath.Join(directory, filename)
+
+ err := os.WriteFile(filePath, []byte(data), 0644)
+ if err != nil {
+ return fmt.Errorf("写入文件时出错: %v", err)
+ }
+ fmt.Println("字符串已成功写入文件:", filePath)
+ return nil
+}
+
+func BytesToBig(bytes []byte) *big.Int {
+ //不能直接转为big,转为字符串后用16进制解码
+ big := new(big.Int)
+ big.SetString(string(bytes), 16)
+ return big
+}
+
+func AnalSig(sig []byte) (*big.Int, *big.Int, *big.Int) {
+
+ uxbytes, uybytes, vbytes := bytes_trisect(sig)
+ //fmt.Println("打印长度:", len(uxbytes))
+ //fmt.Println(len(uybytes))
+ Ux := new(big.Int).SetBytes(uxbytes)
+ Uy := new(big.Int).SetBytes(uybytes)
+ v := new(big.Int).SetBytes(vbytes)
+ return Ux, Uy, v
+
+}
diff --git a/common/signer/signer.go b/common/signer/signer.go
index 2b90946..05bdd8d 100644
--- a/common/signer/signer.go
+++ b/common/signer/signer.go
@@ -9,6 +9,7 @@ import (
"math/big"
"os"
"strings"
+ "sync"
kgc "schain/common/kgc"
pb "schain/proto"
@@ -35,6 +36,8 @@ type ECDSASignature struct {
R, S *big.Int
}
+var mutex sync.Mutex
+
// NewSigner 根据配置创建一个用户签名
func NewSigner(conf *Config) (*Signer, error) {
sId, err := kgc.InitIdentity(conf.IdentityPath, conf.MSPID)
@@ -163,12 +166,41 @@ func (si *Signer) Serialize() ([]byte, error) {
return si.creator, nil
}
-// 返回一个长度为 32 的字节数组,表示计算得到的 SHA256 校验和
+// 返回KGC签名算法,签名参数用户公私钥、原来的消息、用户id
func (si *Signer) Sign(msg []byte) ([]byte, error) {
- digest := sha256.Sum256(msg)
- return kgc.Certificateless_Sign(si.privateKey, digest[:])
- //return signECDSA(si.privateKey, digest[:])
+ mutex.Lock()
+ defer mutex.Unlock()
+
+ prikey := si.privateKey
+ pubkey := si.publicKey
+ Creator, err := util.UnmarshalCreator(si.creator)
+ if err != nil {
+ return nil, err
+ }
+ ID := Creator.Mspid
+ return kgc.Certificateless_Sign(prikey, pubkey, msg, ID)
+
+ //return si.privateKey, nil
+}
+
+func Verify(creatorBytes []byte, signature, msg []byte) error {
+
+ mutex.Lock()
+ defer mutex.Unlock()
+
+ //fmt.Println("成功进入verify函数!!!!!!!!!!!!!!!!!!")
+ creator, err := util.UnmarshalCreator(creatorBytes)
+
+ if err != nil {
+ return err
+ }
+
+ publicKey := creator.IdBytes
+ ID := creator.Mspid
+
+ return kgc.Certificateless_Verify(publicKey, ID, signature, msg)
+ //return nil
}
// 验证 ECDSA 签名,此处用不到
@@ -214,20 +246,6 @@ func Verify(creatorBytes []byte, signature, msg []byte) error {
}
*/
-func Verify(creatorBytes []byte, signature, msg []byte) error {
-
- creator, err := util.UnmarshalCreator(creatorBytes)
-
- if err != nil {
- return err
- }
-
- publicKey := creator.IdBytes
-
- return kgc.Certificateless_Verify(publicKey, signature, msg)
-
-}
-
/*
// 根据文件加载用户的私钥
func loadPrivateKey(file string) (*ecdsa.PrivateKey, error) {
diff --git a/config/config.yaml b/config/config.yaml
index 6fd8ca7..430cb2b 100644
--- a/config/config.yaml
+++ b/config/config.yaml
@@ -34,7 +34,7 @@ organizations:
# - ":1408"
client:
- MSPID: "*.wxy.com"
+ MSPID: "1234567890111213141516171819202122232425"
#IdentityPath: "cert/client.pem"
#KeyPath: "cert/client.key"
ClientPubPath: "cert/client_pubkey.txt"
@@ -42,7 +42,7 @@ client:
peer:
address: ":1408"
- MSPID: "*.wxy.com"
+ MSPID: "1234567890111213141516171819202122232425"
#IdentityPath: "cert/peer.pem"
#KeyPath: "cert/peer.key"
PeerPubPath: "cert/peer_pubkey.txt"
@@ -50,7 +50,7 @@ peer:
order:
address: ":1409"
- MSPID: "*.wxy.com"
+ MSPID: "1234567890111213141516171819202122232425"
#IdentityPath: "cert/order.pem"
#KeyPath: "cert/order.key"
OrderPubPath: "cert/order_pubkey.txt"
diff --git a/peer/shim/chaincodeserver.go b/peer/shim/chaincodeserver.go
index f9f91f1..00e616b 100644
--- a/peer/shim/chaincodeserver.go
+++ b/peer/shim/chaincodeserver.go
@@ -84,7 +84,7 @@ func (cs *ChaincodeServer) EndPeer(ctx context.Context, e *pb.Empty) (*pb.Empty,
latency := float64(totalLatency) / float64(SuccessNum)
fmt.Printf("吞吐量为:%f\n", throughput*successRatio)
fmt.Printf("延迟为: %f ms\n", latency)
- fmt.Printf("成功率为: %f%%\n", successRatio*100)
+ //fmt.Printf("成功率为: %f%%\n", successRatio*100)
BlockNum = 0
SuccessNum = 0
diff --git a/peer/shim/db.go b/peer/shim/db.go
index 9895022..bd6c68b 100644
--- a/peer/shim/db.go
+++ b/peer/shim/db.go
@@ -70,7 +70,7 @@ func GetStateDB() {
if config.ContractName == "SmallBank" {
fmt.Println("账号数量为:", num)
- fmt.Println("所有账户的总余额为:", valueNum)
+ //fmt.Println("所有账户的总余额为:", valueNum)
}
}
diff --git a/peer/shim/validate.go b/peer/shim/validate.go
index 42e35df..02957bb 100644
--- a/peer/shim/validate.go
+++ b/peer/shim/validate.go
@@ -89,6 +89,7 @@ func validateEndorserTransaction(payload *pb.Payload, hdr *pb.SignatureHeader) (
fmt.Printf("验证失败!!!!!!!!!!!!!!!!!!!!")
return nil, err
}
+ //fmt.Println("验证提案签名成功 20210501")
}
kVRWSet, err := util.UnmarshalKVRWSet(ca.Results)
@@ -218,7 +219,7 @@ func validateBlockMataData(block *pb.Block) error {
fmt.Println("验证bad bad bad bad bad bad!!!!!!")
return err
}
- fmt.Println("验证成功!!!!!!!!!!!!!!!!!!!")
+ //fmt.Println("验证成功!!!!!!!!!!!!!!!!!!!")
return nil
}
diff --git a/proto/util/txutils.go b/proto/util/txutils.go
index 63671a6..d472924 100644
--- a/proto/util/txutils.go
+++ b/proto/util/txutils.go
@@ -3,7 +3,6 @@ package util
import (
"bytes"
"crypto/sha256"
- "fmt"
pb "schain/proto"
"github.com/pkg/errors"
@@ -347,7 +346,7 @@ func GetSignedProposal(proposal *pb.Proposal, signer Signer) (*pb.SignedProposal
}
signature, err := signer.Sign(proposalBytes)
- fmt.Println("111111111signature proposal:", signature)
+ //fmt.Println("111111111signature proposal:", signature)
if err != nil {
return nil, err