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

Piper/remove multi trie support #617

Merged

Conversation

pipermerriam
Copy link
Member

link: #599 and #615 and #611

What was wrong?

During the sharding work, support for different types of underlying trie classes was introduced as part of the work to support lighter witnesses.

How was it fixed?

Dropped the support since this is no longer part of the immediate roadmap.

Cute Animal Picture

cute-goats-and-camel-pals

@pipermerriam pipermerriam force-pushed the piper/remove-multi-trie-support branch from c7e8cc1 to 457ac14 Compare April 30, 2018 17:15
@pipermerriam pipermerriam requested a review from carver April 30, 2018 17:38
@pipermerriam pipermerriam force-pushed the piper/remove-multi-trie-support branch from f3183af to d3b6cd4 Compare April 30, 2018 18:56
Copy link
Contributor

@carver carver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dropped the support since this is no longer part of the immediate roadmap.

Hm, this feels a bit wrong, since it seems likely that we will want configurable trie classes again later. (So doesn't really belong in the YAGNI category)

But... I don't have a better suggestion, because the cost of keeping the configurable tries around might be higher than the cost of adding them back in later when sharding (or whatever) wants them.

"trie_class {} is not supported.".format(trie_class)
)
self.trie_class = trie_class
self.empty_root_hash = empty_root_hash
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The root hash code feels like unnecessary inspection on the trie class details, so I'm happy to see that go. Maybe we can push the blank root hash responsibility into the trie class. IIRC, the class already keeps track of what a blank hash is anyway.

Anyway, I guess that's only relevant when we bring back configurable trie classes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this stuff is implemented in the wrong place so....

the cost of keeping the configurable tries around might be higher than the cost of adding them back in later

I think this is accurate.

@pipermerriam pipermerriam merged commit ccf8de2 into ethereum:master Apr 30, 2018
@pipermerriam pipermerriam deleted the piper/remove-multi-trie-support branch April 30, 2018 21:47
@cburgdorf
Copy link
Contributor

Hm, this feels a bit wrong, since it seems likely that we will want configurable trie classes again later.

Judging from the diff it seems easy enough to readd if it's needed at some later point. I'm definitely a fan of removing things when they aren't needed and keeping things as simple as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants