reword the HTML help

and add a note about geth not switching to a full sync if it was run
with a fast sync at any time in the past in that same db
This commit is contained in:
Ștefan Talpalaru 2019-01-25 19:52:34 +01:00 committed by zah
parent f37352e127
commit 95829b1f3f
2 changed files with 17 additions and 27 deletions

View File

@ -122,42 +122,31 @@
<div class="uk-container uk-container-xsmall"> <div class="uk-container uk-container-xsmall">
<h2>Help</h2> <h2>Help</h2>
<p>The top navigation is ordered from left to right like the picture below.</p>
<ul class="uk-subnav uk-subnav-divider" uk-margin>
<li><span>OpCode</span><span uk-icon="icon: triangle-down"></span></li>
<li><span>Transactions</span><span uk-icon="icon: triangle-down"></span></li>
<li><span>Header</span></li>
<li><span>Help</span></li>
</ul>
<p> <p>
Usually you will start from left, then move to the right to find out where the bug might located. Work your way through the top-right menu, left to right, to find out where the bug might be located.
If you see <span class="uk-text-warning">red colored text</span>, it means you already found the difference between nimbus and other ethereum If you see <span class="uk-text-danger">red colored text</span>, it means you already found the difference between Nimbus and the other Ethereum
client tracing result. client's tracing result.
</p> </p>
<p> <p>
If there is no red colored text in opcode section, it means the bug might be located in transactions section, If there is no red colored text in the <strong>OPCODE</strong> section, it means the bug might be located in the <strong>TRANSACTIONS</strong> section, or in the <strong>HEADER</strong> section.
or in header section.
</p> </p>
<p> <p>
Once you already located the bug, you can use <span class="uk-text-primary">debug.nim</span> located in <span class="uk-text-primary">&#47;premix</span> Once you locate the bug, you can use the <span class="uk-text-primary">./build/debug</span> tool
to sort things out until there is no more error or it pass block validation. to sort things out until there are no more errors and the block passes validation.
</p> </p>
<p> <p>
Block with multiple transactions will have triangle pointing downward in the navigation bar. Blocks with multiple transactions will have submenus in the navigation bar.
Usually only the first transaction with red colored text have the problem, but it might affect the rest Usually, only the first transaction with red colored text is problematic, but it might affect the
of other transactions. In opcode section, the same thing happened, perhaps only the first instruction other transactions. In the <strong>OPCODE</strong> section, the same thing happens. Perhaps only the first red-colored instruction
with red colored text have the problem, but it will affect the rest of other instructions. is problematic, but it will affect the other instructions.
</p> </p>
<p> <p>
In <span class="uk-text-success">Transactions</span> section, you'll see the transaction kind. Transactions in the <strong>TRANSACTIONS</strong> section are marked as: <span class="uk-text-warning">Regular, ContractCreation, or ContractCall</span>.
It has three kind: <span class="uk-text-warning">Regular, ContractCreation, and ContractCall</span>. Each kind is processed separately by Nimbus, in different procedures.
Each kind will help you locate the bug in Nimbus implementation, they have their own proc.
</p> </p>
</div> </div>
</div> </div>

View File

@ -30,9 +30,10 @@ geth --rpc --rpcapi eth,debug --syncmode full --gcmode=archive
``` ```
You need to run it until it fully syncs past the problematic block you want to You need to run it until it fully syncs past the problematic block you want to
debug (note that it will first do a fast sync of all blocks before going back debug (you might need to do it on an empty db, because some geth versions will
to do the full sync). After that, you can stop it by pressing `CTRL-C` and keep on doing a fast sync if that's what was done before). After that, you can
rerun it with the additional flag `--maxpeers 0` if you want it to stop syncing stop it by pressing `CTRL-C` and rerun it with the additional flag `--maxpeers
0` if you want it to stop syncing
- or just let it run as is if you want to keep syncing. - or just let it run as is if you want to keep syncing.
The next requirement is building Nimbus and Premix: The next requirement is building Nimbus and Premix: