Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SHIPPED]🚀 Hyperspace Patch Release 19/01/2023 #10074

Closed
maciejwitowski opened this issue Jan 19, 2023 · 9 comments
Closed

[SHIPPED]🚀 Hyperspace Patch Release 19/01/2023 #10074

maciejwitowski opened this issue Jan 19, 2023 · 9 comments
Assignees
Labels

Comments

@maciejwitowski
Copy link
Contributor

maciejwitowski commented Jan 19, 2023

We are going to do a pre-hackathon release to address the issues currently experienced on the Hyperspace.

Scope
Code:

Docs:

  • Instructions for block explorers and other partners to reconstruct the tipset CIDs that are missing from past tipsets.
  • backfills tx id maps
  • instructions for enabling eth api support (which enables tx id map)

Not confirmed scope additions

Decided to skip in this patch

@maciejwitowski
Copy link
Contributor Author

maciejwitowski commented Jan 19, 2023

@jennijuju do we need this #10049? What's the impact of not shipping it now?

@maciejwitowski maciejwitowski self-assigned this Jan 19, 2023
@raulk
Copy link
Member

raulk commented Jan 19, 2023

#10061 is fixed by #10069 and tested by #10071.

@raulk
Copy link
Member

raulk commented Jan 19, 2023

  • Need to merge the simplified Eth endpoint setup as well, which activates the transaction hash index.
  • Need to add the tool to backfill missing Eth transaction hashes, and add instructions for operators.

@raulk
Copy link
Member

raulk commented Jan 19, 2023

Instructions for block explorers and other partners to reconstruct the tipset CIDs that are missing from past tipsets.

For this, we have two options:

  1. Use lotus chain set-head to rewind the chain and resync.
  2. Create a tool, but because badger does not allow concurrent writes from different processes, there would be an interruption anyway.

Since the chain is short and light, I propose (1). Easier on us, known to them.

@raulk
Copy link
Member

raulk commented Jan 19, 2023

More for instructions:

@jennijuju
Copy link
Member

We likely no longer need #10075 for this tag given

  • for all existing node operators and block explorers they will need to backfill the tipserCIDs that's missing. The way to do it is to resync via set-head.
  • now with the new release, whoever that's serving ethapis will have the tx hash map enabled by default. during the resync, the tx hash will be populated as well.

@geoff-vball is verifying the above.

@maciejwitowski
Copy link
Contributor Author

Adding #10052 to the scope.
Reasons:

  • important fixes
  • 1st review pass looks promising. Just a few minor fixes Raul will do without waiting for Ian
  • Low risk of regression because of isolated changes +

@jennijuju
Copy link
Member

Update - given the config changes and the resyncing needed, we believe it's easier just for the node operators to start a fresh repo.

@jennijuju
Copy link
Member

jennijuju commented Jan 20, 2023

Thanks to the testing and detailed bug reports, this is a 🥩 patch as we fixed many bugs w.r.t filecoin message cid <> eth tx hash, event log storing and so on! With this patch, we believe most of the node service providers, api service provider and explorer’s needs should be successfully fulfilled!

Here is the tag: v1.20.0-hyperpsace-0119.
Things we improved/fixed:

📣 We HIGHLY RECOMMEND all chain service providers, i:e: node, api, block explorer & etc, sync hyperspace from scratch to persist the most accurate historical chain states/information, i.e: tipset CID, Filecoin message CID and Eth tx id map, events&logs.

👩‍🏫 Here is how you can re-deploy your node (assuming your LOTUS_PATH is under ~/.lotus):
First, remove the old chainstore and event/txidmap databases

rm -rf ~/.lotus/datastore //remove your lotus chain datastore
rm -rf ~/.lotus/sqlite //remove your eth tx hash map or event database if exists 

Next you need to get the latest config file, which can be downloaded at https://gist.github.com/jennijuju/a0c9bd09a353ba8cd0255a09396c5915. The only default that’s adjusted is EnableEthRPC = true , tune the other configurations as you see fit.

Then you know the drill, we will build the latest lotus:

git fetch origin
git checkout v1.20.0-hyperpsace-0119
git submodule update --recursive
make clean && make hyperspacenet
sudo make install

Now you can start your node! As your nodes sync from the network, tipset CID will be automatically populated into your chain blockstore. You will also find two databases being created under ~/.lotus/sqlite : events.db & txhash.db . Once your node is fully synced, all events/logs triggered so far and all the Eth tx hashes &their Filecoin message CIDs will be stored there. If you want to opt-out events/logs, simply disable Fevm.Events in your config.toml.

That's it! Have fun buidl 💙 !

@jennijuju jennijuju added the TPM label Jan 20, 2023
@jennijuju jennijuju changed the title 🚀 Hyperspace Patch Release 19/01/2023 [SHIPPED]🚀 Hyperspace Patch Release 19/01/2023 Jan 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants