-
Notifications
You must be signed in to change notification settings - Fork 49
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
Substrate Complaints #28
Comments
Labeling testnet as this notably effects integration. |
It uses
So why aren't we on devnet right now? Because |
The next steps for https://github.com/serai-dex/substrate would be, in order: 1a) Remove all crates not relevant to Serai. I truly don't care to spend the time and effort to maintain them. This comment details the larger plan to drop Parity Substrate for Serai Substrate. While relevant to the above, this will probably end up as two issues. The above will be pre-mainnet, the latter will be post. |
I believe we did successfully drop Multiaddress/Multisignature in 28308df. U128 balances were replaced with U64 in one of our earliest Substrate commits, at least regarding the core runtime itself. |
As part of implementing Tendermint, I learned various pallets define their own key types. While I have no idea why, the Tendermint pallet had to define its keys, and for some reason, its Ristretto key is distinct from the standard Ristretto key. The other pain is the classic Ristretto key isn't even Ristretto, yet It's only as largely changing |
I previously accused Substrate of having 'horrible' package layouts. I now see exactly why it's written the way it is, with three crates for everything. Instead of criticizing that aspect, I'd instead like to criticize their folder organization.
Given how many crates exist under each folder, this causes massive travel distance to jump between them. Instead, I'd like to propose |
I'd like to remove |
Per #180, we no longer have ink and can purge ECDSA/Ed25519 without a second thought. |
Substrate uses xx hash for pallet/container labels. While this is practically fine, those can have collisions crafted and a malicious PR could introduce such a fault. We should move that to Blake/find a way to check at compile time no items in pallets conflict with another. |
wasm64 is far more recent, arguably unstable, and only has a 64-bit addressing space. wasm32 still has 64-bit integers, so I'm no longer concerned about the efficiency. |
Substrate features wasmtime yet wasmer seems to offer better performance/flexibility? |
https://github.com/paritytech/substrate/issues/ 10579 I'm also keeping an eye on https://github.com/paritytech/substrate/issues/ 9162. |
serai-dex/substrate@a4cb497 did remove the usage of Ed25519 in GRANDPA for sr25519. |
serai-dex/substrate@638c672 updated substrate to the latest schnorrkel/merlin, removing ~12 unnecessary dependencies. |
substrate 1252 was merged and we now no longer need nightly, it's solely preferred for additional fmt control/checks. |
schnorrkel does use the |
cargo machete reports a lot. While some of these are false positives (due to pallet macro expansion), I assume a good amount aren't. |
Substrate adds |
The recent polkadot-v1.0.0 resolves authoring_version. I've been removing it's 'over-specification' of crate versions. TIL x.y.z == ^x.y.z, not =x.y.z. This was a misunderstanding on my end. I'll make a tool to restore its specifications and minimize the merge work accordingly. |
The Freeze API, IMO, is fundamentally unsafe and should be removed. |
I'd like to look at removing the metadata. I have a lot of commentary on it, yet I'll leave it for another day at the time. |
primitives/metadata-ir is the relevant crate. |
Do we want to change the Schnorrkel context string from substrate to Serai? |
Substrate silelntly drops events after 4 billion. Should we panic there? |
Looks like we're rewriting balances + assets into a single new pallet. We also need to ensure we're only using RocksDB, not the WIP parity-db. |
All events per-block are stores as a single giant blob. While I assume this is for performance, as it means no new tree nodes are needed, it also creates a massive blob to get events from after-the-fact, and harms the hell out of light clients. We should index per event, per n events, or per transaction (or per transaction, per event). |
We need to review how equivocation is handled. GRANDPA was moved to Ristretto, yet any code in the runtime wasn't... |
Closed for #379. |
I wanted to open a running list of issues with Substrate I'd like to tackle, yet need some level of review before doing so is possible.
The text was updated successfully, but these errors were encountered: