diff --git a/updates/2023/01-25-core-devs-call.md b/updates/2023/01-25-core-devs-call.md index 9846c224..c530da4e 100644 --- a/updates/2023/01-25-core-devs-call.md +++ b/updates/2023/01-25-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 25/01/2023 +title: Core Devs Call - 2023/01/25 authors: [alebanzas, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -8,7 +8,6 @@ tags: [CoreDevsCall, gnosis] ![](https://i.imgur.com/i8hjL8X.png) - ## Call Info Hello everyone from the weekly Gnosis Core Devs Call. This meeting is repeated on Wednesday every week. Watch on [Gnosis Chain YouTube channel](https://www.youtube.com/watch?v=UUDl-Zyl6pA) @@ -17,53 +16,54 @@ Participants: Erigon, Gateway, Nethermind, Gnosis DevOps, Gnosis Core Devs, Gnos ### Topics: -* Shanghai upgrades details from Nethermind -* RPC updates from Gateway -* Suggestion from Stefan: Increase base fee to 1GWEI? +- Shanghai upgrades details from Nethermind +- RPC updates from Gateway +- Suggestion from Stefan: Increase base fee to 1GWEI? Let's take a look at the core devs call updates. ## Erigon -* Chiado: Might be finished this month -* Mainnet: Erigon got stuck while syncing mainnet twice, reboot helped -* Also affects other networks -* Not seen in 2.36.1 yet -* Work going on for withdrawals (for Ethereum mainnet) -* We should review the specs for Gnosis when everyone is back, because there’s some new context +- Chiado: Might be finished this month +- Mainnet: Erigon got stuck while syncing mainnet twice, reboot helped +- Also affects other networks +- Not seen in 2.36.1 yet +- Work going on for withdrawals (for Ethereum mainnet) +- We should review the specs for Gnosis when everyone is back, because there’s some new context ## Gateway -* Launched archival RPC (Gnosis mainnet) -* Will launch a website with the new public RPC -* Launching checkpoint sync for Chiado (probably today) -* Fixed an issue with the rate limiter that was too eager -* Looking into looking a bridge validator on Chiado, and then on mainnet -* Waiting for Giacomo to accept traffic on the RPC +- Launched archival RPC (Gnosis mainnet) +- Will launch a website with the new public RPC +- Launching checkpoint sync for Chiado (probably today) +- Fixed an issue with the rate limiter that was too eager +- Looking into looking a bridge validator on Chiado, and then on mainnet +- Waiting for Giacomo to accept traffic on the RPC ## Nethermind -* Implementation for withdrawals on Gnosis (and mainnet) -* Only missing part is the smart contract used for withdrawals -* Stefan: Ihor will write the contracts (WIP, ETA: 1 month) +- Implementation for withdrawals on Gnosis (and mainnet) +- Only missing part is the smart contract used for withdrawals +- Stefan: Ihor will write the contracts (WIP, ETA: 1 month) ### Stefan: Increase base fee to 1GWEI? ‍ -* Allows us to make constant spamming very costly. Currently it is too cheap. -* Current base fee: 7 wei -> extremely cheap to spam the network for a long time -* Increasing the base fee to 1 gwei would make it expensive to spam the network even for 10 minutes -* Would require a simple hard fork, which could be included in another hard fork -‍ -#### Jorge (Nethermind)‍ -* No strong opinion -* The computation limit is bound by the gas limit anyways -* Sustained loads would increase the gas price exponentially as per EIP-1559 -* On Chiado, a spam of 30 - 60 minutes increased the base fee to hundreds of gwei -* The main idea is to prevent nefarious actors to put relevant transactions on hold for some time, which would degrade user experience -## Gnosis DevOps +- Allows us to make constant spamming very costly. Currently it is too cheap. +- Current base fee: 7 wei -> extremely cheap to spam the network for a long time +- Increasing the base fee to 1 gwei would make it expensive to spam the network even for 10 minutes +- Would require a simple hard fork, which could be included in another hard fork + ‍ -* Chiado RPC routing implemented (testing with Gateway), then mainnet -* 2 Chiado long-term bootnodes -* Update configs +#### Jorge (Nethermind)‍ + +- No strong opinion +- The computation limit is bound by the gas limit anyways +- Sustained loads would increase the gas price exponentially as per EIP-1559 +- On Chiado, a spam of 30 - 60 minutes increased the base fee to hundreds of gwei +- The main idea is to prevent nefarious actors to put relevant transactions on hold for some time, which would degrade user experience +## Gnosis DevOps +- Chiado RPC routing implemented (testing with Gateway), then mainnet +- 2 Chiado long-term bootnodes +- Update configs diff --git a/updates/2023/02-01-core-devs-call.md b/updates/2023/02-01-core-devs-call.md index 5ecd7f11..353dbba4 100644 --- a/updates/2023/02-01-core-devs-call.md +++ b/updates/2023/02-01-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 01/02/2023 +title: Core Devs Call - 2023/02/01 authors: [alebanzas, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -8,7 +8,7 @@ tags: [CoreDevsCall, gnosis] ![](https://i.imgur.com/VY5RkbN.png) -Hello everyone from the weekly Gnosis Core Devs Call. This meeting is repeated on Wednesday every week. Watch on [Gnosis Chain YouTube channel ‍](https://youtu.be/NxPWQLd8H7g) +Hello everyone from the weekly Gnosis Core Devs Call. This meeting is repeated on Wednesday every week. Watch on [Gnosis Chain YouTube channel ‍](https://youtu.be/NxPWQLd8H7g) Participants: Erigon, Gateway, Nethermind, Geth, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team and the contributors. @@ -16,96 +16,97 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis Core Devs, Gnosis DevRel During this week's meeting, the topic of the Withdrawal Contract was thoroughly discussed. The latest updates regarding xDai fees, which were brought to the table last week, were also discussed. Additionally, updates from the Core Dev Team (Erigon, Gateway, Nethermind, Geth, Prysm) were included in the agenda. - ## Topics:​ -* Withdrawals Contract -* xDai “fees” -* Core Dev Team updates -* InterOp update -* Base Fee + +- Withdrawals Contract +- xDai “fees” +- Core Dev Team updates +- InterOp update +- Base Fee Let's take a look at the core devs call updates. ## Call Notes -* Chain Infra - * Updating of configs repos - * Chiado Config vars https://github.com/gnosischain/configs/pull/7 - * Nethermind will help to update - * Ale: from Discord - * Source of “block rewards” GNO - * Withdrawals contract (with Ihor) - * Option 1: Large reserve that pays out GNO rewards (bridged from ETH) - * Option 2: Hardfork to “mint” GNO on-chain native to Gnosis Chain +- Chain Infra + - Updating of configs repos + - Chiado Config vars https://github.com/gnosischain/configs/pull/7 + - Nethermind will help to update +- Ale: from Discord + + - Source of “block rewards” GNO + - Withdrawals contract (with Ihor) + - Option 1: Large reserve that pays out GNO rewards (bridged from ETH) + - Option 2: Hardfork to “mint” GNO on-chain native to Gnosis Chain -* Withdrawals Contract - * Current status - * Dapplion has written a spec https://hackmd.io/@dapplion/BkjQTn13j - * Ihor is working on these contracts - * Need to decide on approach given differences between ETH & GNO - * Ethereum = ETH is native, while mGNO is not - * Withdrawals on GNO will “withdraw” it from the deposit contract - * The “deposit contract” option is being taken for now - * Withdrawal contract will rely on “reserve” contract that will be funded before/after - * Treasury will need to send more GNO to the Withdrawal contrat to account for block rewards -https://etherscan.io/token/0x6810e776880c02933d47db1b9fc05908e5386b96#balances -https://github.com/gnosischain/specs/blob/master/execution/withdrawals.md - * Alternative approach - * Minting mGNO on Gnosis Chain thru increment the mGNO token registry thru system call (i.e. “issue” mGNO) - * Ihor: how do we maintain total token balance (i.e. sum(GNO on Ethereum chain) == 3_000_000) - * There is no way to convert mGNO to GNO - * Ihor is implementing mGNO to GNO unwrapping logic in the mGNO wrapper - * Upgradeable contract - * Long-term business direction - * GNO on Ethereum is a “claim” against native GNO on Gnosis - * Reduce dependency of GNO on GNO on Etheruem or Bridges - * Need to write a forum post on Gnosis Forum -* xDai “fees” - * 1559 fees = imbalance on ETH Bridge Deposit vs. Gnosis claims - * This will grow as fees increase - * Jorge - 1559 xDai is not burnt, sent to a special address - * Analytics - * Should start keeping track of xDai (issued minus 1559) - * Erigon’s state = easiest to keep track - * 1559 Fee Collector address - * 0x6BBe78ee9e474842Dbd4AB4987b3CeFE88426A92 - * https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Chains/xdai.json#L73 -* Core Dev Team updates - * Erigon - * Fixing issues with eth_blockNumber - * Prep EIP-170 with Shanghai update - * Contract code size limit - * Previously omitted in Gnosis Chain - POSDAO had code size limit in POSDAO contract (permissionContract) - * EIP-3860 - relies on EIP-170 - * Prep for Withdrawals work - * Nethermind - * Waiting on Withdrawals spec - * Proof-of-concept implementation based on what Nethermind team knows about withdrawals - * Can do some local testing on - * Scanning chain for opcodes + - * Gateway - * Igor: This week we finalized Chiado checkpoint sync endpoint, I fixed some tracing issue in Erigon reported by our users, waiting for more traffic from Gnosis RPC - * Geth - * Full Sync - * Snap Sync - some issues - * Prysm - * Merged the PR - * Should be able to run stock on Prysm - pass in config file - * Let Guillaume know if we encounter issues -* Any other issues - * Philippe: Erigon + Nimbus are publishing blocks -* Base Fee - * Spam protection - * 1 gwei would allow it to kick in within ~10min of full blocks, vs hours - * Tomasz had strong objections - should table it -* InterOp update? - * Withdrawals + Shanghai - shadowforks are working - * SSZ in execution layer (vs RLP for txns) - * SSZ (CL) vs RLP (EL) - * Backward compatibility of txns in SSZ - * EOF - shelved - * Specs - * Danube - 4844 - * Electra - verkle (Guillaume) -* Consensus Spec tests - * Needed for Nimbus merge \ No newline at end of file +- Withdrawals Contract + - Current status + - Dapplion has written a spec https://hackmd.io/@dapplion/BkjQTn13j + - Ihor is working on these contracts + - Need to decide on approach given differences between ETH & GNO + - Ethereum = ETH is native, while mGNO is not + - Withdrawals on GNO will “withdraw” it from the deposit contract + - The “deposit contract” option is being taken for now + _ Withdrawal contract will rely on “reserve” contract that will be funded before/after + _ Treasury will need to send more GNO to the Withdrawal contrat to account for block rewards + https://etherscan.io/token/0x6810e776880c02933d47db1b9fc05908e5386b96#balances + https://github.com/gnosischain/specs/blob/master/execution/withdrawals.md + - Alternative approach + - Minting mGNO on Gnosis Chain thru increment the mGNO token registry thru system call (i.e. “issue” mGNO) + - Ihor: how do we maintain total token balance (i.e. sum(GNO on Ethereum chain) == 3_000_000) + - There is no way to convert mGNO to GNO + - Ihor is implementing mGNO to GNO unwrapping logic in the mGNO wrapper + - Upgradeable contract + - Long-term business direction + - GNO on Ethereum is a “claim” against native GNO on Gnosis + - Reduce dependency of GNO on GNO on Etheruem or Bridges + - Need to write a forum post on Gnosis Forum +- xDai “fees” + - 1559 fees = imbalance on ETH Bridge Deposit vs. Gnosis claims + - This will grow as fees increase + - Jorge - 1559 xDai is not burnt, sent to a special address + - Analytics + - Should start keeping track of xDai (issued minus 1559) + - Erigon’s state = easiest to keep track + - 1559 Fee Collector address + - 0x6BBe78ee9e474842Dbd4AB4987b3CeFE88426A92 + - https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Chains/xdai.json#L73 +- Core Dev Team updates + - Erigon + - Fixing issues with eth_blockNumber + - Prep EIP-170 with Shanghai update + - Contract code size limit + - Previously omitted in Gnosis Chain - POSDAO had code size limit in POSDAO contract (permissionContract) + - EIP-3860 - relies on EIP-170 + - Prep for Withdrawals work + - Nethermind + - Waiting on Withdrawals spec + - Proof-of-concept implementation based on what Nethermind team knows about withdrawals + - Can do some local testing on + - Scanning chain for opcodes + + - Gateway + - Igor: This week we finalized Chiado checkpoint sync endpoint, I fixed some tracing issue in Erigon reported by our users, waiting for more traffic from Gnosis RPC + - Geth + - Full Sync + - Snap Sync - some issues + - Prysm + - Merged the PR + - Should be able to run stock on Prysm - pass in config file + - Let Guillaume know if we encounter issues +- Any other issues + - Philippe: Erigon + Nimbus are publishing blocks +- Base Fee + - Spam protection + - 1 gwei would allow it to kick in within ~10min of full blocks, vs hours + - Tomasz had strong objections - should table it +- InterOp update? + - Withdrawals + Shanghai - shadowforks are working + - SSZ in execution layer (vs RLP for txns) + - SSZ (CL) vs RLP (EL) + - Backward compatibility of txns in SSZ + - EOF - shelved + - Specs + - Danube - 4844 + - Electra - verkle (Guillaume) +- Consensus Spec tests + - Needed for Nimbus merge diff --git a/updates/2023/02-08-core-devs-call.md b/updates/2023/02-08-core-devs-call.md index e0b0b1fa..d6858bb0 100644 --- a/updates/2023/02-08-core-devs-call.md +++ b/updates/2023/02-08-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 08/02/2023 +title: Core Devs Call - 2023/02/08 authors: [alebanzas, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -8,7 +8,6 @@ tags: [CoreDevsCall, gnosis] ![](https://i.imgur.com/kTqmelS.png) - Hello everyone from the weekly Gnosis Core Devs Call. This meeting is repeated on Wednesday every week. Watch on Gnosis Chain YouTube channel. ‍ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team and the contributors. @@ -18,56 +17,61 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs At this week's short meeting, the latest status updates on the withdrawal contract was talked and possible implementation scenarios were evaluated. In addition, opinions were shared about Shanghai testing tools and POSDAO testnet. Updates from Core Dev Team updates on Erigon, Gateway, Nethermind, Geth, Prysm were included in the agenda.Additionally, updates from the Core Dev Team updates about Erigon, Gateway, Nethermind, Geth, Prysm were included in the agenda. Topics:​ -* Withdrawals Contract -* Core Dev Team updates -* Shanghai testing tools -* Base Fee +- Withdrawals Contract +- Core Dev Team updates +- Shanghai testing tools +- Base Fee Let’s take a look at the core devs call updates. # Call Notes ## Withdrawals Contract - * Not many changes since last week - * Waiting for feedback before continuing the implementation - * 3 possibilities - 1. Declare that the GNO token on the GC is a canonical token - * Mint it when the contract has not enough tokens - * Violates the first principles of the GNO token - 2. Mint an GNO on GC token when the contract has not enough tokens - * Violates the bridge pledge logic - 3. Do not issue a token when the contract has not enough tokens, but instead leave a note that in the future the user will be able to receive funds if they will be on the withdrawal contract (violates the logic of creating an mGNO token because of staking) -E.g. “promissory”GNO -## Chain Infra - * Gateway - * 20% of Chiado traffic goes to Gateway RPC - * Need to start getting traffic from Mainnet RPC + +- Not many changes since last week +- Waiting for feedback before continuing the implementation + _ 3 possibilities 1. Declare that the GNO token on the GC is a canonical token + _ Mint it when the contract has not enough tokens + _ Violates the first principles of the GNO token 2. Mint an GNO on GC token when the contract has not enough tokens + _ Violates the bridge pledge logic 3. Do not issue a token when the contract has not enough tokens, but instead leave a note that in the future the user will be able to receive funds if they will be on the withdrawal contract (violates the logic of creating an mGNO token because of staking) + E.g. “promissory”GNO + +## Chain Infra + +- Gateway + - 20% of Chiado traffic goes to Gateway RPC + - Need to start getting traffic from Mainnet RPC + ## Core Dev Team updates - * EL - * Erigon - * No updates - * Nethermind - * Working on running devnets for withdrawals with mock contracts - * The withdrawal spec is going to be different on Gnosis than on mainnet, so testing would be quite useful - * Wrote a script to verify if some bytecodes are used - * Resource utilization is apparently lower than before - * Geth - * Philippe - * Added Chiado chainspec to Lodestar - * Added deposit blocks for Gnosis and Chiado to - * Erigon - * To allow for –prune=r without having to specify –prune.r.before=firstDepositBlock - * WIP: Light clients for CL for Gnosis and Erigon - * WIP: Nimbus + Erigon + +- EL + - Erigon + - No updates + - Nethermind + - Working on running devnets for withdrawals with mock contracts + - The withdrawal spec is going to be different on Gnosis than on mainnet, so testing would be quite useful + - Wrote a script to verify if some bytecodes are used + - Resource utilization is apparently lower than before + - Geth + - Philippe + - Added Chiado chainspec to Lodestar + - Added deposit blocks for Gnosis and Chiado to + - Erigon + - To allow for –prune=r without having to specify –prune.r.before=firstDepositBlock + - WIP: Light clients for CL for Gnosis and Erigon + - WIP: Nimbus + Erigon + ## Other issues - * Bridge Coordinator - * Will update in subsequent week + +- Bridge Coordinator + - Will update in subsequent week + ## Issues - * Gateway - * Shanghai testing tools? - * Igor might have been working on this already - * Waiting for him and dapplion - * POSDAO tests? - * Need to add withdrawals tests +- Gateway + - Shanghai testing tools? + - Igor might have been working on this already + - Waiting for him and dapplion +- POSDAO tests? + - Need to add withdrawals tests diff --git a/updates/2023/02-15-core-devs-call.md b/updates/2023/02-15-core-devs-call.md index 73e48f26..1ee008f2 100644 --- a/updates/2023/02-15-core-devs-call.md +++ b/updates/2023/02-15-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 15/02/2023 +title: Core Devs Call - 2023/02/15 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -14,117 +14,121 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs In the focus of this meeting, opinions on the implementation of withdrawals contract were evaluated. difficulties and solutions to current problems were discussed. also shared EL and CL team updates. -### Topics +### Topics -* Withdrawals Contract -* “Native” GNO and mGNO -* Core Devs Team updates -* Client Team Update -* Chain Infrastructure Updates +- Withdrawals Contract +- “Native” GNO and mGNO +- Core Devs Team updates +- Client Team Update +- Chain Infrastructure Updates ### Feb 15, 2023 -* Withdrawals contract - * https://www.notion.so/Shanghai-Capella-Withdrawals-13fa64960f304abbac23b73187436058 - * Create a PR with a semi-final implementation - * API described in the spec - * https://github.com/gnosischain/deposit-contract/pull/25 - * Insolvency Case - * https://github.com/gnosischain/deposit-contract/pull/25#discussion_r1107069076 - * How many failed withdrawals should the system call process? - * Should it be hardcoded or a chain parameter? - * Withdrawals are passed as calldata to the contract - * Only way to fail is if there’s not enough GNO in the contract -> withdrawal stored as failed - * On every block, failed withdrawals are processed again, in case there’s now enough GNO - * The question is: how many of those failed withdrawals can we process per block to keep appropriate block times - * Martin: this situation should never happen ideally - * Lion: The withdrawal could also fail for other reasons because we’re calling other contracts (?) - * Goes back to the discussion of whether there should be minting capabilities or not - * Not realistic to implement this in a timely fashion - * Daniel: would having two balances (xDAI + GNO) in execution layer (or CL)be an option? - * Probably too much work / maintenance to be worth it - * Guillaume: can we get rid of xDAI as native token? - * Replace it with GNO, and then we basically move to the standard Ethereum way - * Martin: Probably not viable - * Is this good for the chain? - * Would force users to convert their $ into GNO - * Would it even be feasible? - * xDAI (or wrapper xDAI) is used in many contracts, where it might be assumed that the native currency is worth a dollar - * Dan: Move xDai balances into ERC-20 registry? - * Could we mint something on withdrawals that would allow users to get their original GNO back on Ethereum - * Need to work with Comms team on instruction guides for community - * 0x00 addresses can’t withdraw, so these addresses would need to be converted - * [ ] Do we need to build tooling for this? - * Prysm has something for this - - * [Check Ethereum Withdrawals FAQ](https://notes.ethereum.org/@launchpad/withdrawals-faq ) - * 16 validators withdrawals can be processed per block - * Dapplion: More withdrawals per block = higher load on processing. Could EL devs benchmark the cost of a withdrawal in gnosis? - * Cost of withdrawal is more expensive in Gnosis because withdrawals are implemented in EL - * Marek: best way is to start the devnet and observe block processing time with withdrawals -* “Native” GNO +- Withdrawals contract + - https://www.notion.so/Shanghai-Capella-Withdrawals-13fa64960f304abbac23b73187436058 + - Create a PR with a semi-final implementation + - API described in the spec + - https://github.com/gnosischain/deposit-contract/pull/25 + - Insolvency Case + - https://github.com/gnosischain/deposit-contract/pull/25#discussion_r1107069076 + - How many failed withdrawals should the system call process? + - Should it be hardcoded or a chain parameter? + - Withdrawals are passed as calldata to the contract + - Only way to fail is if there’s not enough GNO in the contract -> withdrawal stored as failed + - On every block, failed withdrawals are processed again, in case there’s now enough GNO + - The question is: how many of those failed withdrawals can we process per block to keep appropriate block times + - Martin: this situation should never happen ideally + - Lion: The withdrawal could also fail for other reasons because we’re calling other contracts (?) + - Goes back to the discussion of whether there should be minting capabilities or not + - Not realistic to implement this in a timely fashion + - Daniel: would having two balances (xDAI + GNO) in execution layer (or CL)be an option? + - Probably too much work / maintenance to be worth it + - Guillaume: can we get rid of xDAI as native token? + - Replace it with GNO, and then we basically move to the standard Ethereum way + - Martin: Probably not viable + - Is this good for the chain? + - Would force users to convert their $ into GNO + - Would it even be feasible? + - xDAI (or wrapper xDAI) is used in many contracts, where it might be assumed that the native currency is worth a dollar + - Dan: Move xDai balances into ERC-20 registry? + - Could we mint something on withdrawals that would allow users to get their original GNO back on Ethereum + - Need to work with Comms team on instruction guides for community + - 0x00 addresses can’t withdraw, so these addresses would need to be converted + - [ ] Do we need to build tooling for this? + - Prysm has something for this - + - [Check Ethereum Withdrawals FAQ](https://notes.ethereum.org/@launchpad/withdrawals-faq) + - 16 validators withdrawals can be processed per block + - Dapplion: More withdrawals per block = higher load on processing. Could EL devs benchmark the cost of a withdrawal in gnosis? + - Cost of withdrawal is more expensive in Gnosis because withdrawals are implemented in EL + - Marek: best way is to start the devnet and observe block processing time with withdrawals +- “Native” GNO - * Ihor: Could lead to bad economical effect - * Martin: We’re removing the ability of the bridge to mint unlimited GNO on Gnosis’ side, which should only increase security - * Would be putting the burn promise in code by only having 3m tokens on Gnosis side - * Need to upgrade Bridge Contracts (?) - * Omnibridge cannot mint addition GNO.gnosis, needs custom code to pull from 3mn minted - * GNO.ethereum <> GNO.gnosis (from 3mn) thru 3rd party bridges - * What’s the current plan of releasing GNO rewards on beacon chain? - * Right now we can just increase the storage slot in the GNO smart contract on the execution layer side so the token doesn’t need to be upgraded for minting - * Igor: That has to be done on the execution layer anyways - * The way this works on Ethereum is just to increase the native balance (no contract interaction) - * The idea is to call a contract that does it (Ihor’s withdrawal contract) instead of hacking it together - * Dapplion - * Thinks it’s a good idea - * But would probably require a team that would dive into this to make sure everything work as it should and analyze how feasible this is - * To be considered for inclusion in future hardfork - * Basically we need expertise on this - * Let’s do an assessment of whether this is doable or not and how much time it would take -* mGNO - * Should it be “user-facing”? - * Should we get rid of it? -* Client Team Updates - * EL - * Nethermind - * Dan: https://www.notion.so/Issue-Transfer-beyond-Balance-Bug-for-Nethermind-2418ed72b2ac414c8541fca1d2d7827c - * Will be released in v1.18 🥳 - * Going to launch a testnet today or tomorrow - * Updated the withdrawal code for the function name - * Transaction pool issue will be released in 1.18 because it’s not critical - * Erigon - * Looking into Chiado connectivity issues - * Nethermind might privilege Nethermind nodes, meaning that they might drop Erigon nodes that are “useless” - * Nethermind doesn’t think that’s the case and will investigate this - * `--Network.DiagTracerEnabled true` can be used for debugging - * Progress on light CL - * Stable as a read-only node - * For validators: treat with caution - * Misses more attestations than Nethermind and Geth on mainnet - * Sometimes gets stuck, but not for long - * From Lukasz, regarding useless peers - * Invalid NetworkId - * Capabilities not matched - * TxFlooding (we are spammed with transaction broadcasts) - * When someone tries to snap sync from us (as we don't implement snap-server) - * There’s also another issue that Lukasz is investigating - * Geth - * No update -* Consensus Layer - * Prysm - * Merged the changes - - * Nimbus (Philippe Schommers) - * ghcr.io/filoozom/gnosis-nimbus-eth2:latest - * Not used by the public yet - * Gnosis deployed some nodes for testing and Erigon CL - * Housekeeping -* Chain infra - * Gateway - * Been running an Erigon archival node on Gnosis - * All the nodes were stuck on the same block number - * Indexing - * Figuring out re-org - * The RPC test is going fine - * Additional Workstreams (will join this call in the future) - * Shutterized Beacon Chain - * Account Abstraction + - Ihor: Could lead to bad economical effect + - Martin: We’re removing the ability of the bridge to mint unlimited GNO on Gnosis’ side, which should only increase security + - Would be putting the burn promise in code by only having 3m tokens on Gnosis side + - Need to upgrade Bridge Contracts (?) + - Omnibridge cannot mint addition GNO.gnosis, needs custom code to pull from 3mn minted + - GNO.ethereum <> GNO.gnosis (from 3mn) thru 3rd party bridges + - What’s the current plan of releasing GNO rewards on beacon chain? + - Right now we can just increase the storage slot in the GNO smart contract on the execution layer side so the token doesn’t need to be upgraded for minting + - Igor: That has to be done on the execution layer anyways + - The way this works on Ethereum is just to increase the native balance (no contract interaction) + - The idea is to call a contract that does it (Ihor’s withdrawal contract) instead of hacking it together + - Dapplion + - Thinks it’s a good idea + - But would probably require a team that would dive into this to make sure everything work as it should and analyze how feasible this is + - To be considered for inclusion in future hardfork + - Basically we need expertise on this + - Let’s do an assessment of whether this is doable or not and how much time it would take + +- mGNO + - Should it be “user-facing”? + - Should we get rid of it? +- Client Team Updates + - EL + - Nethermind + - Dan: https://www.notion.so/Issue-Transfer-beyond-Balance-Bug-for-Nethermind-2418ed72b2ac414c8541fca1d2d7827c + - Will be released in v1.18 🥳 + - Going to launch a testnet today or tomorrow + - Updated the withdrawal code for the function name + - Transaction pool issue will be released in 1.18 because it’s not critical + - Erigon + - Looking into Chiado connectivity issues + - Nethermind might privilege Nethermind nodes, meaning that they might drop Erigon nodes that are “useless” + - Nethermind doesn’t think that’s the case and will investigate this + - `--Network.DiagTracerEnabled true` can be used for debugging + - Progress on light CL + - Stable as a read-only node + - For validators: treat with caution + - Misses more attestations than Nethermind and Geth on mainnet + - Sometimes gets stuck, but not for long + - From Lukasz, regarding useless peers + - Invalid NetworkId + - Capabilities not matched + - TxFlooding (we are spammed with transaction broadcasts) + - When someone tries to snap sync from us (as we don't implement snap-server) + - There’s also another issue that Lukasz is investigating + - Geth + - No update +- Consensus Layer + + - Prysm + + - Merged the changes + + - Nimbus (Philippe Schommers) + - ghcr.io/filoozom/gnosis-nimbus-eth2:latest + - Not used by the public yet + - Gnosis deployed some nodes for testing and Erigon CL + - Housekeeping + +- Chain infra + - Gateway + - Been running an Erigon archival node on Gnosis + - All the nodes were stuck on the same block number + - Indexing + - Figuring out re-org + - The RPC test is going fine +- Additional Workstreams (will join this call in the future) + - Shutterized Beacon Chain + - Account Abstraction diff --git a/updates/2023/02-22-core-devs-call.md b/updates/2023/02-22-core-devs-call.md index 8c378ae1..3d2ec747 100644 --- a/updates/2023/02-22-core-devs-call.md +++ b/updates/2023/02-22-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 22/02/2023 +title: Core Devs Call - 2023/02/22 authors: [armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -17,183 +17,203 @@ The main topic of discussion during the meeting was the withdrawals contract. Th Watch on [Gnosis Chain YouTube channel](https://www.youtube.com/watch?v=1DDKU5OX-Lw) ### Topics -* Withdrawals Contract -* Shapella Upgrade -* Core Dev Team updates -* Client Team Update -* Chain Infrastructure Updates -* Devnet -* POSDAO + +- Withdrawals Contract +- Shapella Upgrade +- Core Dev Team updates +- Client Team Update +- Chain Infrastructure Updates +- Devnet +- POSDAO # Call Notes ## Withdrawals contract -* Should be finalized -* Being audited by Adam -* If the transfers can’t occur (insolvency case), they will be queued and cleared when new GNO is supplied -* Dapplion is asking for help from Nethermind to pick a safe value of the number of failed transactions to execute per block -* Might be useful to test on mainnet because on devnets the entire state can be cached -* Ruben suggests a default of 16 for both, so 32 in the worst case scenario -* If we have one day worth of failed amounts, then clearing the queue would take a day as well -* In any case, this would be an unlikely scenario -Would require a massive exit -* Lukasz: is there an estimation of gas usage for those transactions? -* Dapplion: we don’t have those numbers but we should compute them -* Based on this, we could choose a number for the failed transactions per block -* Dapplion: will ask Ihor to get some numbers -* Need to assign tokens to Deposit Contract - * Should have some 0x01 addresses - * Method 1: Jorge’s “Merge” method of just overwriting storage slots - * Nethermind and Erigon have support for storage allocations - * Makes it possible to give tokens to users in contracts - * Method 2: Assign code as constructor bytecode (?) + +- Should be finalized +- Being audited by Adam +- If the transfers can’t occur (insolvency case), they will be queued and cleared when new GNO is supplied +- Dapplion is asking for help from Nethermind to pick a safe value of the number of failed transactions to execute per block +- Might be useful to test on mainnet because on devnets the entire state can be cached +- Ruben suggests a default of 16 for both, so 32 in the worst case scenario +- If we have one day worth of failed amounts, then clearing the queue would take a day as well +- In any case, this would be an unlikely scenario + Would require a massive exit +- Lukasz: is there an estimation of gas usage for those transactions? +- Dapplion: we don’t have those numbers but we should compute them +- Based on this, we could choose a number for the failed transactions per block +- Dapplion: will ask Ihor to get some numbers +- Need to assign tokens to Deposit Contract + - Should have some 0x01 addresses + - Method 1: Jorge’s “Merge” method of just overwriting storage slots + - Nethermind and Erigon have support for storage allocations + - Makes it possible to give tokens to users in contracts + - Method 2: Assign code as constructor bytecode (?) ## Devnet -* Are there blockers? - * Actual withdrawals contract (currently using mocks) -* Can we start spinning one up? -* Status‍ - * Nethermind - * Started an internal devnet using a mock contract a few days ago - * So far, everything seems to be good - * Starts with AuRa blocks, then Merges (Bellatrix) and then enables Withdrawals - * Lighthouse might not be compatible with TTD = 0 - * Devnet is simple to set up because it’s mostly automated - * Current state‍ - * A dozen of validators - * Went through Shanghai without any issues - * Withdrawals have not been tested yet - * Figuring BLS addresses out - * The nodes are public, so an RPC can be shared - * Erigon can also join this devnet, but the mock contract is still used, so that needs to be configured‍ - * Erigon‍ - * Not implemented yet - * Can be done this week - * General - * We can spin up a devnet with both clients end of next week (March 2nd) - * Gnosis DevOps - * Will run Nethermind first? + +- Are there blockers? + - Actual withdrawals contract (currently using mocks) +- Can we start spinning one up? +- Status‍ + - Nethermind + - Started an internal devnet using a mock contract a few days ago + - So far, everything seems to be good + - Starts with AuRa blocks, then Merges (Bellatrix) and then enables Withdrawals + - Lighthouse might not be compatible with TTD = 0 + - Devnet is simple to set up because it’s mostly automated + - Current state‍ + - A dozen of validators + - Went through Shanghai without any issues + - Withdrawals have not been tested yet + - Figuring BLS addresses out + - The nodes are public, so an RPC can be shared + - Erigon can also join this devnet, but the mock contract is still used, so that needs to be configured‍ + - Erigon‍ + - Not implemented yet + - Can be done this week + - General + - We can spin up a devnet with both clients end of next week (March 2nd) + - Gnosis DevOps + - Will run Nethermind first? ## Client team updates + ### Execution Layer -* Nethermind‍ - * Running devnet for withdrawals - * Issues regarding 1.17 - * Attestations down - * We’ll investigate and contact Nethermind on Telegram -* Erigon - * Chiado now works - * Linked to dead peers on Nethermind - * Enabled snapshots - * Light client works for Gnosis and Chiado - * DevOps is working on spinning up more Nimbus peers -* Guillaume - - * Trying to run latest Prysm on mainnet - * Will be working on geth sync for the rest of the month - * Will be working on geth sync for the rest of the month + +- Nethermind‍ + - Running devnet for withdrawals + - Issues regarding 1.17 + - Attestations down + - We’ll investigate and contact Nethermind on Telegram +- Erigon + - Chiado now works + - Linked to dead peers on Nethermind + - Enabled snapshots + - Light client works for Gnosis and Chiado + - DevOps is working on spinning up more Nimbus peers +- Guillaume + + - Trying to run latest Prysm on mainnet + - Will be working on geth sync for the rest of the month + - Will be working on geth sync for the rest of the month + ### Consensus Layer + ‍ -* Prysm - * How to configure the Gnosis preset? - * `--chain-config-file=/configs/mainnet/config.yaml` refers to `PRESET_BASE: gnosis` -* Nimbus - * Publishing on Gnosis repo - * https://github.com/gnosischain/gnosis-nimbus-eth2 +- Prysm + - How to configure the Gnosis preset? + - `--chain-config-file=/configs/mainnet/config.yaml` refers to `PRESET_BASE: gnosis` +- Nimbus + + - Publishing on Gnosis repo + - https://github.com/gnosischain/gnosis-nimbus-eth2 ## Chain Infra + ‍ -* Gateway‍ - * Half of the traffic on Chiado - * 25% traffic on mainnet - * Everything’s good and planning to increase traffic - * Gnosis Bridge Validator - * 1-of-7 - * Work can be slow during EthDenver +- Gateway‍ + + - Half of the traffic on Chiado + - 25% traffic on mainnet + - Everything’s good and planning to increase traffic + - Gnosis Bridge Validator + - 1-of-7 + - Work can be slow during EthDenver -* Beaconchain +- Beaconchain - * Not ready till T+1 after Ethereum Shanghai/Capella - * For the 0x00 -> 0x01 address conversion + - Not ready till T+1 after Ethereum Shanghai/Capella + - For the 0x00 -> 0x01 address conversion ## Timeline -* When is a realistic time for Withdrawals? - * Need to prep community - * We should not overpromise‍ -* DevNet - - * Next steps (can be done without Erigon) - * Deploy a new one with the actual smart contract - * With upgrade from mainnet bytecode if possible, but not essential - * Can be put in the genesis bytecode - * The contract should be pre-funded to simulate the current state on mainnet - * Would be great to test the insolvency case - * Test the deposit contract update - * Start with the bytecode of the current deposit contract - * Go through the upgrade - * Can probably be done this week -* Shadow forks‍ -* Chiado - - * Deposit contract for Genesis - * Start testing tooling - * Dappnode - * Withdrawal credentials in general‍ -* Mainnet‍ - - * Deposit contract needs to be updated - * Requires testing - * On devnet - * On chiado - * Emulate it as close to mainnet as possible + +- When is a realistic time for Withdrawals? + - Need to prep community + - We should not overpromise‍ +- DevNet + + - Next steps (can be done without Erigon) + - Deploy a new one with the actual smart contract + - With upgrade from mainnet bytecode if possible, but not essential + - Can be put in the genesis bytecode + - The contract should be pre-funded to simulate the current state on mainnet + - Would be great to test the insolvency case + - Test the deposit contract update + - Start with the bytecode of the current deposit contract + - Go through the upgrade + - Can probably be done this week + +- Shadow forks‍ +- Chiado + + - Deposit contract for Genesis + - Start testing tooling + - Dappnode + - Withdrawal credentials in general‍ + +- Mainnet‍ + + - Deposit contract needs to be updated + - Requires testing + - On devnet + - On chiado + - Emulate it as close to mainnet as possible ## Additional Workstreams -* Shutterized Beacon Chain -* Account Abstraction +- Shutterized Beacon Chain +- Account Abstraction ## Tests + ### Hive -* Dapplion: Should be the option in the long term - * Marek agrees because Ethereum also supports Hive tests - * However, the initial effort will be more important as we have nothing yet + +- Dapplion: Should be the option in the long term + - Marek agrees because Ethereum also supports Hive tests + - However, the initial effort will be more important as we have nothing yet + ### POSDAO -* Currently: Truffle test suites -* Really annoying to work with -* Still-relevant - * Deprecated, but still necessary for nodes being synced from Genesis: - * Pre-merge testing of POSDAO - rotation of validator set, voting etc - * Test that we can still go thru the Merge without going thru forks or nodes getting start - * Still relevant: - * xDai Block Rewards - * Has prevented really bad problems from happening - * Syncing from Genesis + +- Currently: Truffle test suites +- Really annoying to work with +- Still-relevant + - Deprecated, but still necessary for nodes being synced from Genesis: + - Pre-merge testing of POSDAO - rotation of validator set, voting etc + - Test that we can still go thru the Merge without going thru forks or nodes getting start + - Still relevant: + - xDai Block Rewards + - Has prevented really bad problems from happening + - Syncing from Genesis + ### None of them are being worked on -* Would anyone have capacity to do either? - * Nethermind: Hive tests are written in Go - * Nethermind has devs, but not sure anyone is available - * Erigon: Andrew will ask around, but probably no capacity -* Would be great to have long term ownership of Gnosis tests - * Especially for shutterized beacon chain etc in the future -* We wouldn’t need a suite as extensive as Ethereum’s for now - * The withdrawal tests are relatively succinct + +- Would anyone have capacity to do either? + - Nethermind: Hive tests are written in Go + - Nethermind has devs, but not sure anyone is available + - Erigon: Andrew will ask around, but probably no capacity +- Would be great to have long term ownership of Gnosis tests + - Especially for shutterized beacon chain etc in the future +- We wouldn’t need a suite as extensive as Ethereum’s for now + - The withdrawal tests are relatively succinct + ### Miscellaneous -* The xDai team did an attempt at implementing withdrawals - * https://hackmd.io/@k1rill-fedoseev/SkS0ua5mq#Capella - * They had a way to pause withdrawals - * Sounds really bad, we don’t want to be able to stop the network -* There will be no trace (logs) of withdrawals on explorers - * We need to work with explorers to display them - * Ideally they add a new tab, similar to “internal” / “ERC-20” for withdrawals - * We can probably piggy-back from the mainnet implementation - * Caveat: insolvency case, might require some specific logic - * Beaconcha.in - * Gnosisscan - * Blockscout -* Lukasz: should withdrawals be shown in traces somewhere? - * Lukasz: mixed feelings - * We should maybe ask block explorers / users what they want? - * Dapplion: let’s keep it simple - \ No newline at end of file + +- The xDai team did an attempt at implementing withdrawals + - https://hackmd.io/@k1rill-fedoseev/SkS0ua5mq#Capella + - They had a way to pause withdrawals + - Sounds really bad, we don’t want to be able to stop the network +- There will be no trace (logs) of withdrawals on explorers + - We need to work with explorers to display them + - Ideally they add a new tab, similar to “internal” / “ERC-20” for withdrawals + - We can probably piggy-back from the mainnet implementation + - Caveat: insolvency case, might require some specific logic + - Beaconcha.in + - Gnosisscan + - Blockscout +- Lukasz: should withdrawals be shown in traces somewhere? + - Lukasz: mixed feelings + - We should maybe ask block explorers / users what they want? + - Dapplion: let’s keep it simple diff --git a/updates/2023/03-01-core-devs-call.md b/updates/2023/03-01-core-devs-call.md index 6bb76408..7726156b 100644 --- a/updates/2023/03-01-core-devs-call.md +++ b/updates/2023/03-01-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 01/03/2023 +title: Core Devs Call - 2023/03/01 authors: [armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -14,123 +14,139 @@ The main topic of discussion during the meeting was the Devnet and Hive test. Th Watch on [Gnosis Chain YouTube channel](https://www.youtube.com/watch?v=aJS4CyHWSLc) - ### Topics -* Withdrawals Contract -* Shapella Upgrade -* Core Dev Team updates -* Client Team Update -* Chain Infrastructure Updates -* Devnet -* Hive and POSDAO test -* Get rid of mGNO + +- Withdrawals Contract +- Shapella Upgrade +- Core Dev Team updates +- Client Team Update +- Chain Infrastructure Updates +- Devnet +- Hive and POSDAO test +- Get rid of mGNO # Call Notes # Gnosis Core Devs Call Notes - - - - # Withdrawals contract -* We should try to commit to a date soonish - * Devnet with actual contract deployed today by Nethermind and joined tomorrow by Erigon -* Semi final state - * Adam should be taking a look for the audit - * "I’m still auditing, but also waiting for your response on two threads. I should be able to wrap up the audit shortly after I receive the fixed code." - * Lion is getting gas numbers to have accurate parameters - * Coming up with a plan so that Jorge can easily deploy + +- We should try to commit to a date soonish + - Devnet with actual contract deployed today by Nethermind and joined tomorrow by Erigon +- Semi final state + - Adam should be taking a look for the audit + - "I’m still auditing, but also waiting for your response on two threads. I should be able to wrap up the audit shortly after I receive the fixed code." + - Lion is getting gas numbers to have accurate parameters + - Coming up with a plan so that Jorge can easily deploy # Client team updates + ## EL + ### Nethermind -* Figured out the issue with withdrawal testnet -* Next step: spinning up a new one with the actual withdrawal contract’s bytecode + +- Figured out the issue with withdrawal testnet +- Next step: spinning up a new one with the actual withdrawal contract’s bytecode + ### Erigon -* Implemented the withdrawal logic for Gnosis chain - * Not tested yet + +- Implemented the withdrawal logic for Gnosis chain + - Not tested yet + ### Geth -* Guillaume went back to snap sync, but it makes Nethermind hang up -* Trying some sort of manual snap sync by exporting data from Nethermind and importing directly into geth + +- Guillaume went back to snap sync, but it makes Nethermind hang up +- Trying some sort of manual snap sync by exporting data from Nethermind and importing directly into geth ## CL + ### Prysm -* New release with the Gnosis changes also includes Capella changes - * Breaks the fork id logic for networks where the Capella fork hasn’t been scheduled yet - * One can set a Capella fork block far in the future to test it out + +- New release with the Gnosis changes also includes Capella changes + - Breaks the fork id logic for networks where the Capella fork hasn’t been scheduled yet + - One can set a Capella fork block far in the future to test it out # Devnet -* No updates except the ones mentioned in the team updates -* How are we going to split validator duties? - * Ideally multiple teams should run keys - * Between 1k and 10k in total - * A third for Nethermind, Gnosis and Gateway + +- No updates except the ones mentioned in the team updates +- How are we going to split validator duties? + - Ideally multiple teams should run keys + - Between 1k and 10k in total + - A third for Nethermind, Gnosis and Gateway # Chain infra + ## Gateway -* Work on bridge validator - * Created ansible scripts -* Slowdown while Denver is happening -* Updated the way traffic gets redirected from the Gnosis RPC to Gateway to better track RPS -* Beaconchain + +- Work on bridge validator + - Created ansible scripts +- Slowdown while Denver is happening +- Updated the way traffic gets redirected from the Gnosis RPC to Gateway to better track RPS +- Beaconchain + ## Additional Workstreams (will join this call in the future) -* Shutterized Beacon Chain -* Account Abstraction + +- Shutterized Beacon Chain +- Account Abstraction + ## Tests + ### Hive -* Nethermind has been discussing it internally - * They think it would be bad long term if Nethermind took ownership of testing because they’re the majority client already, and thus don’t really want to do it - * At the same time, it’s unrealistic to fork without testing in place -* Dapplion thinks that if Nethermind has capacity it would be nice to still do it and diversify later on - * The shortest path right now to move forward is for Nethermind to implement tests -* On Gnosis, previously Jorge wrote tests (but also implementation, so that’s not great) - * We don’t have experience in-house for testing - * We might not have enough work to hire a full-time test developer -* Guillaume thinks that for a short period of time it could occupy a full-time developer position and will ask for finer details from the Ethereum Foundation / tester -* On Ethereum, there’s a dedicated testing team and contributions from clients teams from time to time - * Ideally, teams give ideas for good tests but don’t implement them - * They also have tests other than Hive -* Guillaume would be willing to help writing Hive tests with the Nethermind team potentially -* Tests are a blocker right now - * We have most implementations and devnets, but no tests -* Dapplion: is it a big issue to not have tests if devnets work as expected? - * Are there code paths that we can’t trigger on a devnet? - * Failed withdrawals are trivial to trigger on devnet - * Could be an issue for regression testing, but we could freeze that code -* Dapplion: does Gateway have core devs that could do this? - * Anna: not sure, will ask -* For consensus-breaking features, tests are essential - * Also useful for edge cases, which can be difficult to trigger on devnets / testnets -* Guillaume and Marek don’t feel comfortable going to mainnet without tests -* Dapplion: it might take a lot of time to hire someone to work on this, so ideally we should jumpstart it with existing talent to not delay the fork significantly - * Ask: Find person who is familiar with Hive tests (HR? - ?), in worst-case scenario find Go (but has cold-start problem) -* Next steps - * Dapplion asks Nethermind to reconsider taking part ownership - * Nethermind will talk about it internally and keep us up to date - * Gateway should check if they have talent / capacity - * Gnosis should consider hiring someone - * Dapplion and Guillaume will take this offline - * Stefan: Erigon - Go? (but unable to take it on) - * The core team is rather small and there probably aren’t any free developers -* POSDAO - * Written in JS - * Jorge would prefer to get rid of them - * The code is quite complex - * Still makes it possible to tests withdrawals + +- Nethermind has been discussing it internally + - They think it would be bad long term if Nethermind took ownership of testing because they’re the majority client already, and thus don’t really want to do it + - At the same time, it’s unrealistic to fork without testing in place +- Dapplion thinks that if Nethermind has capacity it would be nice to still do it and diversify later on + - The shortest path right now to move forward is for Nethermind to implement tests +- On Gnosis, previously Jorge wrote tests (but also implementation, so that’s not great) + - We don’t have experience in-house for testing + - We might not have enough work to hire a full-time test developer +- Guillaume thinks that for a short period of time it could occupy a full-time developer position and will ask for finer details from the Ethereum Foundation / tester +- On Ethereum, there’s a dedicated testing team and contributions from clients teams from time to time + - Ideally, teams give ideas for good tests but don’t implement them + - They also have tests other than Hive +- Guillaume would be willing to help writing Hive tests with the Nethermind team potentially +- Tests are a blocker right now + - We have most implementations and devnets, but no tests +- Dapplion: is it a big issue to not have tests if devnets work as expected? + - Are there code paths that we can’t trigger on a devnet? + - Failed withdrawals are trivial to trigger on devnet + - Could be an issue for regression testing, but we could freeze that code +- Dapplion: does Gateway have core devs that could do this? + - Anna: not sure, will ask +- For consensus-breaking features, tests are essential + - Also useful for edge cases, which can be difficult to trigger on devnets / testnets +- Guillaume and Marek don’t feel comfortable going to mainnet without tests +- Dapplion: it might take a lot of time to hire someone to work on this, so ideally we should jumpstart it with existing talent to not delay the fork significantly + - Ask: Find person who is familiar with Hive tests (HR? - ?), in worst-case scenario find Go (but has cold-start problem) +- Next steps + - Dapplion asks Nethermind to reconsider taking part ownership + - Nethermind will talk about it internally and keep us up to date + - Gateway should check if they have talent / capacity + - Gnosis should consider hiring someone + - Dapplion and Guillaume will take this offline + - Stefan: Erigon - Go? (but unable to take it on) + - The core team is rather small and there probably aren’t any free developers +- POSDAO + - Written in JS + - Jorge would prefer to get rid of them + - The code is quite complex + - Still makes it possible to tests withdrawals # Miscellaneous + ## mGNO: sole purpose is to allow to use 1 GNO for validators and emulate the 32 ETH on mainnet -* Can we get rid of it? -* Who uses it? - * Karpatkey - * Ankr - * https://www.ankr.com/docs/delegated-staking/gnosis/overview/ -* Required updates - * Deposit UIs - * https://mgno.validategnosis.com/ -* We should do a forum post in the GnosisDAO or a Twitter poll? - * We should come up with a recommendation first - * Good practise to use the forum for this -* Why keep it? - * Good practise in blockchain in case someone relies on it for some reason + +- Can we get rid of it? +- Who uses it? + - Karpatkey + - Ankr + - https://www.ankr.com/docs/delegated-staking/gnosis/overview/ +- Required updates + - Deposit UIs + - https://mgno.validategnosis.com/ +- We should do a forum post in the GnosisDAO or a Twitter poll? + - We should come up with a recommendation first + - Good practise to use the forum for this +- Why keep it? + - Good practise in blockchain in case someone relies on it for some reason diff --git a/updates/2023/03-08-core-devs-call.md b/updates/2023/03-08-core-devs-call.md index d7a41af7..e5c21a72 100644 --- a/updates/2023/03-08-core-devs-call.md +++ b/updates/2023/03-08-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 08/03/2023 +title: Core Devs Call - 2023/03/08 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -17,39 +17,53 @@ In this meeting, after a quick update was received from Chain Infra and Client t Mar 8, 2023 # Client Team Updates + ## EL -* Nethermind: Managed to get the contract deployed on devnet. Will figure things out with Lion async -* Erigon: No update -* Geth: No update + +- Nethermind: Managed to get the contract deployed on devnet. Will figure things out with Lion async +- Erigon: No update +- Geth: No update + ## CL -* Prysm: No update + +- Prysm: No update + # Chain Infra -* Gateway : Close to final setup for a bridge validator for Chiado. Hopefully this week. If it works, they’ll go to mainnet with the same config + +- Gateway : Close to final setup for a bridge validator for Chiado. Hopefully this week. If it works, they’ll go to mainnet with the same config # Withdrawals contract -* Adam reached out, the audit is ready -* Lion will follow up with that + +- Adam reached out, the audit is ready +- Lion will follow up with that + # Devnet -* Contract deployment issues -* Ownership: See hiring -* Nethermind is maintaining the current DevNet short term -Carlos, Lion and maybe someone from Gateway will maintain them. The current devnet is mostly internal for Nethermind -It has a very low amount of validators. For a public one we should create a new devnet. Maybe we can still open it at least to Erigon so they can start testing -Infra (explorers etc) are already mostly set up -Lion is suggesting to use Nimbus’ explorer (which is way more minimal) in case beaconcha.in can’t keep up -The withdrawal address contract isn’t known in advance, which is a bit problematic. Ideally we should have `create2` deployments so that the address is known in advance -The address should be identical across deployments to make things easier -* Needs to be deployed with the same EOA. Ruben will try to get this to work -* New larger devnet: We’ll give one week of notice to allow everyone to spin up infra + +- Contract deployment issues +- Ownership: See hiring +- Nethermind is maintaining the current DevNet short term + Carlos, Lion and maybe someone from Gateway will maintain them. The current devnet is mostly internal for Nethermind + It has a very low amount of validators. For a public one we should create a new devnet. Maybe we can still open it at least to Erigon so they can start testing + Infra (explorers etc) are already mostly set up + Lion is suggesting to use Nimbus’ explorer (which is way more minimal) in case beaconcha.in can’t keep up + The withdrawal address contract isn’t known in advance, which is a bit problematic. Ideally we should have `create2` deployments so that the address is known in advance + The address should be identical across deployments to make things easier +- Needs to be deployed with the same EOA. Ruben will try to get this to work +- New larger devnet: We’ll give one week of notice to allow everyone to spin up infra + # Tests -* Hive -Max brought in by Anna. He’s working with the Gateway team and moved to Erigon. Worked on the Hive tests to figure out the differences between Ethereum and Gnosis -Crafted a new genesis for Gnosis. Went down a rabbit hole with dependencies and adapting the tests to work with Gnosis. Will ask questions regarding the network -Commitment unclear + +- Hive + Max brought in by Anna. He’s working with the Gateway team and moved to Erigon. Worked on the Hive tests to figure out the differences between Ethereum and Gnosis + Crafted a new genesis for Gnosis. Went down a rabbit hole with dependencies and adapting the tests to work with Gnosis. Will ask questions regarding the network + Commitment unclear + # People -Philippe officially taking over as TPM “Core Devs”! -* Hiring Roles -QA: maintain test suite (Hive tests, etc) -DevOps: DevNets, Shadowforks, Testnets -Where headcount will sit: Gnosis, or with a core team -Need help with JDs + recruiting + +Philippe officially taking over as TPM “Core Devs”! + +- Hiring Roles + QA: maintain test suite (Hive tests, etc) + DevOps: DevNets, Shadowforks, Testnets + Where headcount will sit: Gnosis, or with a core team + Need help with JDs + recruiting diff --git a/updates/2023/03-15-core-devs-call.md b/updates/2023/03-15-core-devs-call.md index b3b373f5..c25284dd 100644 --- a/updates/2023/03-15-core-devs-call.md +++ b/updates/2023/03-15-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 15/03/2023 +title: Core Devs Call - 2023/03/15 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -19,58 +19,66 @@ Watch on [Gnosis Chain Youtube](https://www.youtube.com/watch?v=do-slVs50jU) Mar 15, 2023 # Client Team Updates + ## EL -* **Nethermind**: Aiming to automate the contract deployment But having issues with the deploy contract. Going with truffle deployments. Contracts work as expected. Issues with deployment only. -* **Erigon**: Working on documentation internally. Andrew is in holiday so wasn’t able to join the devnet yet. Maybe can next week (back on Monday) +- **Nethermind**: Aiming to automate the contract deployment But having issues with the deploy contract. Going with truffle deployments. Contracts work as expected. Issues with deployment only. + +- **Erigon**: Working on documentation internally. Andrew is in holiday so wasn’t able to join the devnet yet. Maybe can next week (back on Monday) -* **Geth**: Managed to rebuild the trie. Needs to finish importing blocks, after which it should be possible to follow the chain. Needed because snapshot sync doesn’t work. Will then serve snapsyncs to other instances of Geth +- **Geth**: Managed to rebuild the trie. Needs to finish importing blocks, after which it should be possible to follow the chain. Needed because snapshot sync doesn’t work. Will then serve snapsyncs to other instances of Geth ## CL -* **Prysm**: Doesn’t work with the “CAPELLA_FORK_EPOCH: 9999999999999” “hack” either, more investigations to do. -* **Guillaume**: Might work when building locally instead of using their Docker image + +- **Prysm**: Doesn’t work with the “CAPELLA_FORK_EPOCH: 9999999999999” “hack” either, more investigations to do. +- **Guillaume**: Might work when building locally instead of using their Docker image # Chain Infra -* **Gateway** -Provisioned bridges on Chiado. If everything goes right -> mainnet. Serving half of the requests on the official RPC. Service 75% of the Chiado RPC requests. Figured out issues with The Graph. Figured out an issue with Erigon sometimes stopping to sync. Because of invalid blocks produced by Nethermind. Not super focused on withdrawals right now. +- **Gateway** -Provided Ethereum archival nodes for Gnosis Bridge validators +Provisioned bridges on Chiado. If everything goes right -> mainnet. Serving half of the requests on the official RPC. Service 75% of the Chiado RPC requests. Figured out issues with The Graph. Figured out an issue with Erigon sometimes stopping to sync. Because of invalid blocks produced by Nethermind. Not super focused on withdrawals right now. +Provided Ethereum archival nodes for Gnosis Bridge validators # Devnet + New one to be spun up after deployments are automated (probably today or tomorrow) Target configs: Monday Target launch date: Tuesday -* Testnet +- Testnet Tentative date for Chiado hard fork Nethermind: 10 days to 2 weeks (maybe a bit optimistic) Erigon: the code is ready and they don’t expect any big issues, so the hard fork could come relatively soon # Tests -* Hive + +- Hive It’s actually a lot of work to adapt Hive tests for Gnosis. The Erigon team is meeting IRL to discuss this Updating tests will take at least a few weeks, maybe a month or two. It’s a bigger task than anticipated # People + Nethermind agreed to take on DevOps and QA roles and is looking for people # Research -* Home stakers affected by ISP bandwidth limitation (because of CL). Workaround? + +- Home stakers affected by ISP bandwidth limitation (because of CL). Workaround? Idea: Reduce transaction pool size (EL) Several members of community receiving letters from ISP saying their service will be cancelled due to high bandwidth consumption + ### Past Research -* Research: 5s Blocktimes for Gnosis +- Research: 5s Blocktimes for Gnosis There would be an advantage of having 4 or 6s block times to be in sync with Ethereum. Connected block builders could be used to have optimistic mechanisms in contracts for cross-chain arbitrage. -* Also requires Genesis times to be aligned +- Also requires Genesis times to be aligned Gnosis Dec-08-2021 07:55:40 PM Ethereum Dec-01-2020 12:00:23 PM @@ -80,7 +88,7 @@ Meaning that have one block time be a multiple of the other one would probably s Nothing actionable right now. The last weekend showed the problem. Gnosis wants to be decentralized and resilient. The base token (DAI) is essentially wrapped USD bank deposits at this point. Mostly USDC (60-70%). DAI is very affected by potential US banking problems. -* Problematic for credible neutrality +- Problematic for credible neutrality Problematic because it’s linked to a specific “region” (i.e. the USA) Moving to GNO as a base token @@ -97,11 +105,11 @@ Using a less centralized stable instead of GNO would be a nice option. There’s some very early research. We could schedule an open research call. -* Option: fork Maker on Gnosis +- Option: fork Maker on Gnosis In the same way that Maker accepts 1 USDC as collateral to get 1 DAI, we could start with that and then add options to add GNO or other crypto assets as collateral. Gives a lot more flexibility. We can limit the amount of xDAI minted through DAI and force more of it to be minted through decentralized collateral -* Thought Experiment: GNO as a Native Token +- Thought Experiment: GNO as a Native Token Some ideas (lacking expertise) Different opcodes for "legacy" native asset transfers vs. GNO transfers @@ -109,10 +117,6 @@ Different txn types (e.g. type 1, EIP-1559, and GNO-native txns) Utilizing legacy RPC URLs to relay txns using a JIT airdrop of GNO # Misc + Figure out deploy strategy on Chiado so that we can replicate it on Mainnet I.e. go through the same deposit contract upgrades etc - - - - - diff --git a/updates/2023/03-22-core-devs-call.md b/updates/2023/03-22-core-devs-call.md index bf78f248..ab65646f 100644 --- a/updates/2023/03-22-core-devs-call.md +++ b/updates/2023/03-22-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 22/03/2023 +title: Core Devs Call - 2023/03/22 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -8,7 +8,6 @@ tags: [CoreDevsCall, gnosis] ![](https://i.imgur.com/iQTcEI1.png) - Greetings everyone, and welcome to the weekly Gnosis Core Devs Call. Just a quick reminder that this meeting takes place every Wednesday. Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team and the contributors. @@ -16,38 +15,45 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs Mar 22, 2023 # Client Team Updates + ## EL -* **Nethermind**: Bad block fix was shipped. -* **Erigon**: No updates -* **Geth**: Imported some blocks, but there’s issues with the freezer, hopefully that’s the last hurdle + +- **Nethermind**: Bad block fix was shipped. +- **Erigon**: No updates +- **Geth**: Imported some blocks, but there’s issues with the freezer, hopefully that’s the last hurdle ## CL -* **Prysm**: No updates + +- **Prysm**: No updates # Chain Infra -* **Gateway** -Increasing mainnet RPC to 75% traffic. Implementing monitoring for the Chiado bridge. As soon as this is done, they’ll deploy both bridges for mainnet +- **Gateway** +Increasing mainnet RPC to 75% traffic. Implementing monitoring for the Chiado bridge. As soon as this is done, they’ll deploy both bridges for mainnet # Devnet + Some issues: 3 phases -* Launching chain - * No problem - -* Merge - * Issues caught before the merge and fixed in time - -* Shapella hard fork - * Erigon nodes got stuck with “known bad hash”. Erigon now stuck with another bug -* Gateway switched Erigon nodes to Nethermind - * Issues regarding sync committees -Mar 22 13:01:07.055 WARN Error processing HTTP API request method: POST, path: /eth/v1/beacon/pool/sync_committees, status: 400 Bad Request, elapsed: 4.13746ms -* Erigon - * Was a good test, revealed some issues. DDoS protection from geth was problematic but is fixed. Missing gas limit implementation. The withdrawal contract reverts on Erigon, but works fine on Nethermind. Missing all the slots (or most?) -Bad blocks on Sepolia, but works on Goerli. If any bad block is detected on Goerli, please tell Andrew. Could be linked to an old version of Erigon. Andrew will check on their Sepolia validators -* Nethermind - * Consensus issues need to be investigated separately. We need consensus between both clients to test client diversity / parity + +- Launching chain + + - No problem + +- Merge + + - Issues caught before the merge and fixed in time + +- Shapella hard fork + - Erigon nodes got stuck with “known bad hash”. Erigon now stuck with another bug +- Gateway switched Erigon nodes to Nethermind + - Issues regarding sync committees + Mar 22 13:01:07.055 WARN Error processing HTTP API request method: POST, path: /eth/v1/beacon/pool/sync_committees, status: 400 Bad Request, elapsed: 4.13746ms +- Erigon + - Was a good test, revealed some issues. DDoS protection from geth was problematic but is fixed. Missing gas limit implementation. The withdrawal contract reverts on Erigon, but works fine on Nethermind. Missing all the slots (or most?) + Bad blocks on Sepolia, but works on Goerli. If any bad block is detected on Goerli, please tell Andrew. Could be linked to an old version of Erigon. Andrew will check on their Sepolia validators +- Nethermind + - Consensus issues need to be investigated separately. We need consensus between both clients to test client diversity / parity Igor: where do (automatic) withdrawals go for genesis validators? Do they have a withdrawal address? Lion: the default tooling sets addresses to 0 @@ -64,25 +70,18 @@ I.e. removing the GNO in the contract for example Marek: downside is that this is not automated testing for the future Jorge: indeed, but we don’t have automated tests yet and that’s the best we have - - -* Testnet +- Testnet Was supposed to hard fork next week: still realistic? Igor: probably wise to postpone until Erigon is ready - # Tests -* Hive + +- Hive Max not present: no update # Withdrawal Contrat -* mGNO is getting removed -Would require a contract upgrade on devnet. Will be tested on devnet by triggering actions that provide good solidity coverage - - - - - +- mGNO is getting removed + Would require a contract upgrade on devnet. Will be tested on devnet by triggering actions that provide good solidity coverage diff --git a/updates/2023/03-29-core-devs-call.md b/updates/2023/03-29-core-devs-call.md index 2536e167..b475ffbd 100644 --- a/updates/2023/03-29-core-devs-call.md +++ b/updates/2023/03-29-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 29/03/2023 +title: Core Devs Call - 2023/03/29 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -17,41 +17,43 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs Mar 29, 2023 # Client Team Updates + ## EL -* **Nethermind**: -Introducing Marcos for Hive tests. Will have a call tomorrow regarding those tests. +- **Nethermind**: + +Introducing Marcos for Hive tests. Will have a call tomorrow regarding those tests. -After Shapella, Nethermind will probably release a very big version with a lot of changes. Huge amounts of optimizations is coming.. Potential new light mode that would reduce memory consumption *a lot* +After Shapella, Nethermind will probably release a very big version with a lot of changes. Huge amounts of optimizations is coming.. Potential new light mode that would reduce memory consumption _a lot_ Improving attestation performance Better multi-threading Potentially (but way later) snap sync -* **Erigon**: +- **Erigon**: Canceled their agreement with Gateway for developers, thus Max is no longer an Erigon dev. They want to hire new devs, but will take time. Added the max failed withdrawal parameters to the withdrawals system call, which should now work -* **Geth**: +- **Geth**: Guillaume has worked around the issue from last week, and is now importing the data to start syncing the chain. It has been running for two days, and there’s probably one more day to go, after which he’ll be able to give an update. - ## CL -* **Prysm**: + +- **Prysm**: No updates. Guillaume is focused on Geth -* **Nimbus**: + +- **Nimbus**: We’ve written and reviewed our docs to be published soon After this, we’ll publish client diversity docs, so that validators can start using Nimbus. - # Chain Infra -* **Gateway** -A mainnet bridge validator is now running and has already processed a few transactions.Extra monitoring was added there. +- **Gateway** +A mainnet bridge validator is now running and has already processed a few transactions.Extra monitoring was added there. # Devnet @@ -64,18 +66,12 @@ There’s a faucet for GNO afterwards.Ruben expects Gnosis to be testing this a Lion will run Truffle scripts # Tests -* Hive + +- Hive There’s a call tomorrow, invite in Telegram Happening at 3pm CET - # Withdrawal Contrat Adam’s audit is done, and another external audit should be done by early next week. The minimum amount to deposit is 1/32 GNO, which could be an attack vector. Looking into it. We might want to increase that minimum. - - - - - - diff --git a/updates/2023/04-05-core-devs-call.md b/updates/2023/04-05-core-devs-call.md index 1ccd6b14..23f59ad2 100644 --- a/updates/2023/04-05-core-devs-call.md +++ b/updates/2023/04-05-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 05/04/2023 +title: Core Devs Call - 2023/04/05 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -17,54 +17,54 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs April 5, 2023 # Client Team Updates + ## EL -* **Nethermind**: + +- **Nethermind**: Merged withdrawals to the master branch -* **Erigon**: +- **Erigon**: No updates -* **Geth**: +- **Geth**: Was still syncing on Monday (~1 month left to sync) - ## CL -* **Prysm**: + +- **Prysm**: No updates # Chain Infra -* **Gateway** -Has been helping quite a few teams. Giveth to setup their bridge validator. Max helped Marcos with Hive tests. Took all the traffic from the main Gnosis RPC because Gnosis was experiencing issues. Everything went fine +- **Gateway** +Has been helping quite a few teams. Giveth to setup their bridge validator. Max helped Marcos with Hive tests. Took all the traffic from the main Gnosis RPC because Gnosis was experiencing issues. Everything went fine -* **Gnosis** +- **Gnosis** Had an outage on the public RPC. Redirected all the traffic to Gateway - - # Devnet -* Gateway (on 4 nodes for 5k validators) that 3 validators are on the right chain and working correctly - * 2 have Nethermind - * 1 has Erigon: The last Erigon forked away on the block that it created by itself (#88092). A previous block by the same node has been accepted by the network. Except by the broken Erigon node. The failed block has a different state root and an additional withdrawal. This specific node rejected a block that was considered valid by all other nodes. We don’t exactly know why the broken node rejected the valid block. There was an unwind right before on the broken node. Logs for both Erigon nodes are in the Telegram group -* Nethermind (5-6 Nethermind nodes, out of which 2 had issues) -* Lodestar: Seemingly peering issue -Ping-pongs between having enough peers and not having enough, so it wasn’t able to keep in sync -* Teku (although another one was working fine) -Started sending FCUs of the same blocks over and over again around 1k blocks before it lost sync -Might have been connected to Gateway’s broken Erigon node -* Gnosis -Experiencing issues as well (running Erigon, Nethermind, Teku and Lighthouse, 2.5k keys total).Nodes are stuck on different block numbers. Currently debugging more in depth. None of the 4 validator combinations are working correctly and are on different forks. Giacomo and Igor will keep in touch to debug this. -* Next steps - * Find the issue (Andrew) - * Launch a new devnet -Alerts (Lion) +- Gateway (on 4 nodes for 5k validators) that 3 validators are on the right chain and working correctly + - 2 have Nethermind + - 1 has Erigon: The last Erigon forked away on the block that it created by itself (#88092). A previous block by the same node has been accepted by the network. Except by the broken Erigon node. The failed block has a different state root and an additional withdrawal. This specific node rejected a block that was considered valid by all other nodes. We don’t exactly know why the broken node rejected the valid block. There was an unwind right before on the broken node. Logs for both Erigon nodes are in the Telegram group +- Nethermind (5-6 Nethermind nodes, out of which 2 had issues) +- Lodestar: Seemingly peering issue + Ping-pongs between having enough peers and not having enough, so it wasn’t able to keep in sync +- Teku (although another one was working fine) + Started sending FCUs of the same blocks over and over again around 1k blocks before it lost sync + Might have been connected to Gateway’s broken Erigon node +- Gnosis + Experiencing issues as well (running Erigon, Nethermind, Teku and Lighthouse, 2.5k keys total).Nodes are stuck on different block numbers. Currently debugging more in depth. None of the 4 validator combinations are working correctly and are on different forks. Giacomo and Igor will keep in touch to debug this. +- Next steps + - Find the issue (Andrew) + - Launch a new devnet + Alerts (Lion) The objective is to track everything that can go bad and send alerts to the relevant parties. Has a private repo with a bunch of alerts. Covered basically everything on the consensus side. Will add the relevant people on the repo async. Will be set up by Gnosis DevOps, Giacomo knows about it already. Ruben tested failed withdrawals on Apr 4, 2023 @@ -78,20 +78,13 @@ Lion thinks it might be possible to do it with the current withdrawal contract i Lion want to know how exactly the devnet was bootstrapped. ruben@nethermind.io will send this offline - # Tests -* Hive + +- Hive Had a call last Thursday regarding what our objectives were defined a overview of what things should look like. Hopefully more information next week. - # Withdrawal Contrat No updates - - - - - - diff --git a/updates/2023/04-12-core-devs-call.md b/updates/2023/04-12-core-devs-call.md index feed14bd..eee067a7 100644 --- a/updates/2023/04-12-core-devs-call.md +++ b/updates/2023/04-12-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 12/04/2023 +title: Core Devs Call - 2023/04/12 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -17,34 +17,34 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs April 12, 2023 # Client Team Updates + ## EL -* **Nethermind**: No updates. Steadily progressing with Hive tests -* **Erigon**: No specific updates, waiting for Shanghai to happen. Marcos was asking for an Erigon config for Gnosis. Erigon doesn’t support single file configs for AuRa chains. It will require some code change. Is this required for Hive tests? Not absolutely necessary, but would be useful so that it’s generic for every client Andrew will take a look at it this week. -* **Geth**: No update +- **Nethermind**: No updates. Steadily progressing with Hive tests +- **Erigon**: No specific updates, waiting for Shanghai to happen. Marcos was asking for an Erigon config for Gnosis. Erigon doesn’t support single file configs for AuRa chains. It will require some code change. Is this required for Hive tests? Not absolutely necessary, but would be useful so that it’s generic for every client Andrew will take a look at it this week. +- **Geth**: No update ## CL -* **Prysm**: No update -* **Nimbus** -Started working on a [DAppNode package](https://github.com/gnosischain/DAppNodePackage-nimbus-gnosis) - +- **Prysm**: No update +- **Nimbus** + Started working on a [DAppNode package](https://github.com/gnosischain/DAppNodePackage-nimbus-gnosis) # Chain Infra -* **Gateway** + +- **Gateway** Bridge validators up and running and there are successful transactions for both (native and AMD) Helped Giveth team to setup their bridge validators by sharing steps via notion. Looked into the shapella issue on devnet -* Plausible scenario: Lighthouse lost all peers just before it was its time to propose the block, so it began a new chain, then it couldn’t re-connect to reorg so it only proposed blocks when it was its time + +- Plausible scenario: Lighthouse lost all peers just before it was its time to propose the block, so it began a new chain, then it couldn’t re-connect to reorg so it only proposed blocks when it was its time Doesn’t seem to be the issue with Erigon or Nethermind -Unlikely to repeat in real life because we won’t have that little actual nodes and that many validators. +Unlikely to repeat in real life because we won’t have that little actual nodes and that many validators. But we need to be careful with Chiado, because the setup is similar Waiting for the next steps for the next devnet. - - -* **Gnosis** +- **Gnosis** Setting up network metrics and alerts Grafana and Prometheus running. Doing some tests. We will follow up with new updates next week. Also have Telegram notifications working. We will invite appropriate teams in due time. @@ -52,16 +52,9 @@ Setting up network metrics and alerts Grafana and Prometheus running. Doing some We have consensus on the current broken devnet. We’re going to spin a new one up. Mainnet hardfork is happening today, so it might be a blocker. To be confirmed by Carlos - # Tests -* Hive + +- Hive How to open up the network to outside validators? GNO faucet? New testnet for validators to keep Chiado stable for other testing? - - - - - - - diff --git a/updates/2023/04-19-core-devs-call.md b/updates/2023/04-19-core-devs-call.md index c591dd2f..16f240a6 100644 --- a/updates/2023/04-19-core-devs-call.md +++ b/updates/2023/04-19-core-devs-call.md @@ -1,8 +1,9 @@ --- -title: Core Devs Call - 19/04/2023 +title: Core Devs Call - 2023/04/19 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- + # Gnosis Core Devs Call Notes ![](https://i.imgur.com/yWkAFed.png) @@ -16,17 +17,21 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs April 19, 2023 # Client Team Updates + ## EL -* **Nethermind**: No updates. -* **Erigon**: No updates. -* **Geth**: Was able to import the state (simulate snap sync)Is now starting the node in full sync, but it’s not connecting / downloading blocks. Once this is done, Guillaume should have a working prototype + +- **Nethermind**: No updates. +- **Erigon**: No updates. +- **Geth**: Was able to import the state (simulate snap sync)Is now starting the node in full sync, but it’s not connecting / downloading blocks. Once this is done, Guillaume should have a working prototype ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. + +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra -**Gateway** + +**Gateway** No peers found on Devnet (probably just the different genesis). @@ -48,19 +53,11 @@ We’ve got more precise specs on a PR https://github.com/gnosischain/specs/pull/4 Lion: how specific do you need the spec to be? It seems like EL clients have more lax requirements for specs, is that true? On CL everything is specced quite precisely. - # Tests -* **Hive** + +- **Hive** Will start writing Hive tests by the end of this week -Improving the genesis loading for Erigon and Nethermind, but hasn’t been tested on Erigon yet. +Improving the genesis loading for Erigon and Nethermind, but hasn’t been tested on Erigon yet. **Lion: can we agree on which conditions tests would be considered good enough to move to testnet / mainnet?** Ruben thinks it would be enough if we can just run the contract specific parts (balances etc) - - - - - - - - diff --git a/updates/2023/04-26-core-devs-call.md b/updates/2023/04-26-core-devs-call.md index e31b794a..1c8e58b7 100644 --- a/updates/2023/04-26-core-devs-call.md +++ b/updates/2023/04-26-core-devs-call.md @@ -1,12 +1,11 @@ --- -title: Core Devs Call - 26/04/2023 +title: Core Devs Call - 2023/04/26 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- # Gnosis Core Devs Call Notes - ![](https://i.imgur.com/Xz5wUTd.png) Greetings everyone, and welcome to the weekly Gnosis Core Devs Call. Just a quick reminder that this meeting takes place every Wednesday. @@ -18,38 +17,32 @@ Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs April 26, 2023 # Client Team Updates + ## EL -* **Nethermind**: Got close to releasing the first hive tests. Maybe later today or tomorrow. Preparing a new major release. Found some issues, mostly optimizations and bug fixes. Probably going to be released next week. Will send the release notes once they have them - -* **Erigon**: New release (2.43) Replaced the light consensus client with a more experimental full consensus version. As it’s a full blown CL implementation, it should also be able to work for Gnosis in the future`--externalcl` is now default (and the flag was removed).Use `--internalcl` now to use the new experimental CL. Looking to hire a new core developer. Gnosis HR has been helping. New diagnostic tool https://github.com/ledgerwatch/diagnostics. Idea is to also use it as a recruitment tool -* **Geth**: Still has a sync problem. Nethermind hangs up without telling why. Spent some time with Nethermind to fix this. Related to a wrong chain ID. Resulted in the need to resync everything +- **Nethermind**: Got close to releasing the first hive tests. Maybe later today or tomorrow. Preparing a new major release. Found some issues, mostly optimizations and bug fixes. Probably going to be released next week. Will send the release notes once they have them + +- **Erigon**: New release (2.43) Replaced the light consensus client with a more experimental full consensus version. As it’s a full blown CL implementation, it should also be able to work for Gnosis in the future`--externalcl` is now default (and the flag was removed).Use `--internalcl` now to use the new experimental CL. Looking to hire a new core developer. Gnosis HR has been helping. New diagnostic tool https://github.com/ledgerwatch/diagnostics. Idea is to also use it as a recruitment tool + +- **Geth**: Still has a sync problem. Nethermind hangs up without telling why. Spent some time with Nethermind to fix this. Related to a wrong chain ID. Resulted in the need to resync everything ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. + +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra + **Gateway** : No peers found on Devnet (probably just the different genesis). # Devnet No major updates. Withdrawals look good. Activated ~80% of the keys and withdrawals work. Failure scenario works as well.Exiting worked a few times as well. - # Research **Shutterized Beacon Chain** The EL specs seem to be clear enough. Nethermind can start prototyping something until libp2p is made available. - - # Tests -**Hive** Ran into issues regarding the config. Five basic withdrawal tests should be delivered today or tomorrow. The blocker is regarding the payload. The payload isn’t communicated correctly between CL and EL. - - - - - - - +**Hive** Ran into issues regarding the config. Five basic withdrawal tests should be delivered today or tomorrow. The blocker is regarding the payload. The payload isn’t communicated correctly between CL and EL. diff --git a/updates/2023/05-03-core-devs-call.md b/updates/2023/05-03-core-devs-call.md index 489c425a..c334ba4b 100644 --- a/updates/2023/05-03-core-devs-call.md +++ b/updates/2023/05-03-core-devs-call.md @@ -1,51 +1,51 @@ --- -title: Core Devs Call - 03/05/2023 +title: Core Devs Call - 2023/05/03 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- # Gnosis Core Devs Call Notes - ![](https://i.imgur.com/hKWegwm.png) Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team and contributors gather to discuss the latest developments and updates related to the Gnosis ecosystem. This meeting is held every Wednesday and serves as a platform for participants to collaborate and exchange ideas. The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://www.youtube.com/watch?v=MTaoJ3ksRY8). +For those who missed the live meeting, [a full recording is available on YouTube](https://www.youtube.com/watch?v=MTaoJ3ksRY8). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. May 3, 2023 # Client Team Updates + ## EL Confirming EIPs -* EIP-3651: Warm COINBASE -* EIP-3855: PUSH0 instruction -* EIP-3860: Limit and meter initcode -* EIP-170 is added as well because it was still missing -https://eips.ethereum.org/EIPS/eip-170 -* Regarding max code size -* EIP-6049: Deprecate SELFDESTRUCT -* EIP-4895: Beacon chain push withdrawals as operations** Gnosis modified. These need to be added to our specs repo -https://github.com/gnosischain/specs/issues/5 - -* **Nethermind**: Started work on the shutter chain. Nothing specific to show yet. Running 50% Erigon nodes -* **Erigon**: No updates -* **Geth**: I got fullsync to kickstart after the database reconstruction: code was missing. I fixed this and now I am debugging the "system call" at the end of the block, where the block reward is distributed. Once this is fixed, and since it's the last thing that gets executed in the block, fullsync should work. -## CL +- EIP-3651: Warm COINBASE +- EIP-3855: PUSH0 instruction +- EIP-3860: Limit and meter initcode +- EIP-170 is added as well because it was still missing + https://eips.ethereum.org/EIPS/eip-170 +- Regarding max code size +- EIP-6049: Deprecate SELFDESTRUCT +- EIP-4895: Beacon chain push withdrawals as operations\*\* Gnosis modified. These need to be added to our specs repo + https://github.com/gnosischain/specs/issues/5 +- **Nethermind**: Started work on the shutter chain. Nothing specific to show yet. Running 50% Erigon nodes +- **Erigon**: No updates +- **Geth**: I got fullsync to kickstart after the database reconstruction: code was missing. I fixed this and now I am debugging the "system call" at the end of the block, where the block reward is distributed. Once this is fixed, and since it's the last thing that gets executed in the block, fullsync should work. + +## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra -**Gateway** : Nothing specific. Igor is participating in a hackathon today +**Gateway** : Nothing specific. Igor is participating in a hackathon today # Devnet @@ -57,13 +57,5 @@ Nethermind, ran a tool that generates bad blocks to test if the network handles **Shutterized Beacon Chain** Being implemented as a Nethermind plugin # Tests -**Hive** Last week’s issue was solved. Related to geth being hardcoded. Trying to make this more universal. It was recalculating a hash instead of just taking one received by the API. Ensure that we reach the TTD. Generating some post-shanghai blocks. During each step, we check if the chain is working correctly. Should have some withdrawal tests for end of next week.Focused on integrating the withdrawal contract this week - - - - - - - - +**Hive** Last week’s issue was solved. Related to geth being hardcoded. Trying to make this more universal. It was recalculating a hash instead of just taking one received by the API. Ensure that we reach the TTD. Generating some post-shanghai blocks. During each step, we check if the chain is working correctly. Should have some withdrawal tests for end of next week.Focused on integrating the withdrawal contract this week diff --git a/updates/2023/05-10-core-devs-call.md b/updates/2023/05-10-core-devs-call.md index 14a87803..7ba8b1dc 100644 --- a/updates/2023/05-10-core-devs-call.md +++ b/updates/2023/05-10-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 10/05/2023 +title: Core Devs Call - 2023/05/10 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -10,25 +10,27 @@ Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team an The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://www.youtube.com/watch?v=RXI-ObxMnfs). +For those who missed the live meeting, [a full recording is available on YouTube](https://www.youtube.com/watch?v=RXI-ObxMnfs). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. May 10, 2023 # Client Team Updates + ## EL -* **Nethermind**: Not much. Still working on Shutter -* **Erigon**: Fixed an issue where trace_block was not returning correct rewards because of the block rewards contract. Was merged yesterday. -* **Geth**: Small update: Struggling with the rewards computation code. We'll be in touch with Andrew. +- **Nethermind**: Not much. Still working on Shutter +- **Erigon**: Fixed an issue where trace_block was not returning correct rewards because of the block rewards contract. Was merged yesterday. +- **Geth**: Small update: Struggling with the rewards computation code. We'll be in touch with Andrew. ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra + **Gateway** : All set up for EDCON (May 19-23) Shared the API key yesterday, hasn’t received any updates from Burner Wallet. Would like to get a version of the wallet in order not to have any updates. Gateway is fine with increasing rps and nodes. Need information from Gnosis. Deposit UI needs to be updated for the hard fork. @@ -39,23 +41,25 @@ Gnosis ran manual tests, everything seems to be ok. No updates from Nethermind. # Testnet No objections from Nethermind. Should be doable on Erigon’s side as well -* Suggested slots -Conditions. Slot mod 8192 = 0 (aligns with historical beacon vector) -Is weekday? -Is between 14:00 and 20:00 CET? -Within the next 2-4 weeks -Matches -- Slot 3874816: 22/05/2023, 16:41:20 -- Slot 3891200: 23/05/2023, 15:26:40 -- Slot 3907584: 24/05/2023, 14:12:00 -- Slot 3997696: 29/05/2023, 19:21:20 -- Slot 4014080: 30/05/2023, 18:06:40 -- Slot 4030464: 31/05/2023, 16:52:00 -- Slot 4046848: 01/06/2023, 15:37:20 -- Slot 4063232: 02/06/2023, 14:22:40 -- Slot 4153344: 07/06/2023, 19:32:00 - -Can we try for May 24, 2023? Consensus chain variables. We’ll keep the same ones as Ethereum mainnet. How many withdrawal blocks should we accept?. On Ethereum it’s 16. Worst case it’s around 1.3 million gas per block. This would iterate over all partial withdrawals in ~8 hours, which is very fast. We could do 8 withdrawals per block. In any case we’ll add 550k gas per block. We have to define a list of KPI we want to reach on Chiado to consider it a success. + +- Suggested slots + Conditions. Slot mod 8192 = 0 (aligns with historical beacon vector) + Is weekday? + Is between 14:00 and 20:00 CET? + Within the next 2-4 weeks + Matches + +* Slot 3874816: 22/05/2023, 16:41:20 +* Slot 3891200: 23/05/2023, 15:26:40 +* Slot 3907584: 24/05/2023, 14:12:00 +* Slot 3997696: 29/05/2023, 19:21:20 +* Slot 4014080: 30/05/2023, 18:06:40 +* Slot 4030464: 31/05/2023, 16:52:00 +* Slot 4046848: 01/06/2023, 15:37:20 +* Slot 4063232: 02/06/2023, 14:22:40 +* Slot 4153344: 07/06/2023, 19:32:00 + +Can we try for May 24, 2023? Consensus chain variables. We’ll keep the same ones as Ethereum mainnet. How many withdrawal blocks should we accept?. On Ethereum it’s 16. Worst case it’s around 1.3 million gas per block. This would iterate over all partial withdrawals in ~8 hours, which is very fast. We could do 8 withdrawals per block. In any case we’ll add 550k gas per block. We have to define a list of KPI we want to reach on Chiado to consider it a success. # Research @@ -63,16 +67,7 @@ Can we try for May 24, 2023? Consensus chain variables. We’ll keep the same o **Withdrawals**: Right now it’s fairly complicated to track information regarding withdrawals. We might need to change the signature of the withdrawal function. Should not be too complicated for Nethermind and Erigon. The contract would also require an update to track these changes - # Tests -**Hive**:Added the integration with the withdrawal contract. Adding the way to test the balance of the contract and the amount on the accounts that have done withdrawals. Should be done by end of this week -No ETA for the rest yet. - - - - - - - - +**Hive**:Added the integration with the withdrawal contract. Adding the way to test the balance of the contract and the amount on the accounts that have done withdrawals. Should be done by end of this week +No ETA for the rest yet. diff --git a/updates/2023/05-17-core-devs-call.md b/updates/2023/05-17-core-devs-call.md index 235aef26..b8630871 100644 --- a/updates/2023/05-17-core-devs-call.md +++ b/updates/2023/05-17-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 17/05/2023 +title: Core Devs Call - 2023/05/17 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -12,25 +12,27 @@ Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team an The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://www.youtube.com/watch?v=Sz2YXykvRzk). +For those who missed the live meeting, [a full recording is available on YouTube](https://www.youtube.com/watch?v=Sz2YXykvRzk). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. May 17, 2023 # Client Team Updates + ## EL -* **Nethermind**: Configs for Chiado shapella are ready on the main branch. Released an RC that already includes this. Stable should be released with it before chiado -* **Erigon**: Configs ready on devel. -* **Geth**: No updates. +- **Nethermind**: Configs for Chiado shapella are ready on the main branch. Released an RC that already includes this. Stable should be released with it before chiado +- **Erigon**: Configs ready on devel. +- **Geth**: No updates. ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra + **Gateway** : Worked on provisioning L2 for Gnosis Chain. New configs for Bedrock regarding the fraud proof window mostly # Devnet @@ -44,11 +46,11 @@ No need to update the system call signature in the end. https://github.com/gnosi # Testnet Who’s running the nodes? Gateway? + - Gateway runs Nethermind + Lighthouse - Nethermind 2k? - Gnosis 2k? - # Research **Mempool** Transactions that are way too expensive to be executed and can’t be replaced @@ -61,16 +63,7 @@ Nethermind will fix this, but it’s no big deal Will get evicted if a more appropriate transaction comes in # Tests + **Hive**: Good progress pre and post-shanghai. Implement tests for post-shanghai scenarios. -Syncing status: Producing blocks and sending transactions. Verified that withdrawals work like expected. Not getting the expected results. But the root is built correctly and the withdrawals are indeed being executed. Later (timeline: 2-3 weeks) +Syncing status: Producing blocks and sending transactions. Verified that withdrawals work like expected. Not getting the expected results. But the root is built correctly and the withdrawals are indeed being executed. Later (timeline: 2-3 weeks) Block reorgs and syncing issues. Edge cases: Integrate Erigon. Making sure that everything integrated with Nethermind also works with Erigon. - - - - - - - - - - diff --git a/updates/2023/05-24-core-devs-call.md b/updates/2023/05-24-core-devs-call.md index f9eeb8bf..82e0eb63 100644 --- a/updates/2023/05-24-core-devs-call.md +++ b/updates/2023/05-24-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 24/05/2023 +title: Core Devs Call - 2023/05/24 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -12,27 +12,28 @@ Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team an The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/rpOGNxP17Xc). +For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/rpOGNxP17Xc). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. May 24, 2023 # Client Team Updates -## EL -* **Nethermind**: No updates -* **Erigon**: No updates. -* **Geth**: Started over with something a bit closer to how Erigon is doing it. Waiting for traces from Erigon. The intermediate state is not correct. +## EL +- **Nethermind**: No updates +- **Erigon**: No updates. +- **Geth**: Started over with something a bit closer to how Erigon is doing it. Waiting for traces from Erigon. The intermediate state is not correct. ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra -**Gateway** : Supported the EDCON wallet by providing an RPC. Out of memory exceptions on Nethermind 1.18. Started with Nethermind 1.18. Preparing logs to give Nethermind. Could give direct access to the nodes to the Nethermind team. Nethermind confirms that this would be helpful. + +**Gateway** : Supported the EDCON wallet by providing an RPC. Out of memory exceptions on Nethermind 1.18. Started with Nethermind 1.18. Preparing logs to give Nethermind. Could give direct access to the nodes to the Nethermind team. Nethermind confirms that this would be helpful. # Devnet @@ -43,14 +44,5 @@ No updates. No updates # Tests -**Hive**: Expected to meet with Mario from EF. Prepared the codebase for more tests regarding gas settings, timeouts and edge cases. Will probably get done simultaneously with the current issue with withdrawals - - - - - - - - - +**Hive**: Expected to meet with Mario from EF. Prepared the codebase for more tests regarding gas settings, timeouts and edge cases. Will probably get done simultaneously with the current issue with withdrawals diff --git a/updates/2023/05-31-core-devs-call.md b/updates/2023/05-31-core-devs-call.md index 98484bb4..3397d39a 100644 --- a/updates/2023/05-31-core-devs-call.md +++ b/updates/2023/05-31-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 31/05/2023 +title: Core Devs Call - 2023/05/31 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -12,29 +12,28 @@ Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team an The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/PlcrLPuFK90). +For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/PlcrLPuFK90). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. May 31, 2023 # Client Team Updates -## EL - -* **Nethermind**: Nothing major. Released the fix for Chiado in a stable version (1.18.2) -* **Erigon**: No updates. -* **Geth**: Still working on calling the reward contract. Found two bugs and am currently working on a third one. Guillaume will post the results in a little bit. +## EL +- **Nethermind**: Nothing major. Released the fix for Chiado in a stable version (1.18.2) +- **Erigon**: No updates. +- **Geth**: Still working on calling the reward contract. Found two bugs and am currently working on a third one. Guillaume will post the results in a little bit. ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra + **Gateway** : Fixed Chiado RPC and other nodes. Deploying the network for Gnosis Pay. Already did a testnet. Working on a block explorer. After that deploying to mainnet. What are the plans for bridges during the hard fork? - # Mainnet Upgrade @@ -45,33 +44,34 @@ Conditions: Slot mod 8192 Weekday Time between 14 and 20 UTC Slots -* Slot 9658368, ts 1687285180, UTC: 20/06/2023, 18:19:40 -* Slot 9674752, ts 1687367100, UTC: 21/06/2023, 17:05:00 -* Slot 9691136, ts 1687449020, UTC: 22/06/2023, 15:50:20 -* Slot 9707520, ts 1687530940, UTC: 23/06/2023, 14:35:40 -* Slot 9814016, ts 1688063420, UTC: 29/06/2023, 18:30:20 -* Slot 9830400, ts 1688145340, UTC: 30/06/2023, 17:15:40 -* Slot 9879552, ts 1688391100, UTC: 03/07/2023, 13:31:40 -* Slot 9895936, ts 1688473020, UTC: 04/07/2023, 12:17:00 -* Slot 10002432, ts 1689005500, UTC: 10/07/2023, 16:11:40 -* Slot 10018816, ts 1689087420, UTC: 11/07/2023, 14:57:00 -* Slot 10035200, ts 1689169340, UTC: 12/07/2023, 13:42:20 -* Slot 10051584, ts 1689251260, UTC: 13/07/2023, 12:27:40 -* Slot 10125312, ts 1689619900, UTC: 17/07/2023, 18:51:40 -* Slot 10141696, ts 1689701820, UTC: 18/07/2023, 17:37:00 -* Slot 10158080, ts 1689783740, UTC: 19/07/2023, 16:22:20 -* Slot 10174464, ts 1689865660, UTC: 20/07/2023, 15:07:40 -* Slot 10190848, ts 1689947580, UTC: 21/07/2023, 13:53:00 -* Slot 10297344, ts 1690480060, UTC: 27/07/2023, 17:47:40 -* Slot 10313728, ts 1690561980, UTC: 28/07/2023, 16:33:00 -* Slot 10362880, ts 1690807740, UTC: 31/07/2023, 12:49:00 +- Slot 9658368, ts 1687285180, UTC: 20/06/2023, 18:19:40 +- Slot 9674752, ts 1687367100, UTC: 21/06/2023, 17:05:00 +- Slot 9691136, ts 1687449020, UTC: 22/06/2023, 15:50:20 +- Slot 9707520, ts 1687530940, UTC: 23/06/2023, 14:35:40 +- Slot 9814016, ts 1688063420, UTC: 29/06/2023, 18:30:20 +- Slot 9830400, ts 1688145340, UTC: 30/06/2023, 17:15:40 +- Slot 9879552, ts 1688391100, UTC: 03/07/2023, 13:31:40 +- Slot 9895936, ts 1688473020, UTC: 04/07/2023, 12:17:00 +- Slot 10002432, ts 1689005500, UTC: 10/07/2023, 16:11:40 +- Slot 10018816, ts 1689087420, UTC: 11/07/2023, 14:57:00 +- Slot 10035200, ts 1689169340, UTC: 12/07/2023, 13:42:20 +- Slot 10051584, ts 1689251260, UTC: 13/07/2023, 12:27:40 +- Slot 10125312, ts 1689619900, UTC: 17/07/2023, 18:51:40 +- Slot 10141696, ts 1689701820, UTC: 18/07/2023, 17:37:00 +- Slot 10158080, ts 1689783740, UTC: 19/07/2023, 16:22:20 +- Slot 10174464, ts 1689865660, UTC: 20/07/2023, 15:07:40 +- Slot 10190848, ts 1689947580, UTC: 21/07/2023, 13:53:00 +- Slot 10297344, ts 1690480060, UTC: 27/07/2023, 17:47:40 +- Slot 10313728, ts 1690561980, UTC: 28/07/2023, 16:33:00 +- Slot 10362880, ts 1690807740, UTC: 31/07/2023, 12:49:00 # Research GNO Transfer events in withdrawals. Needs to be very clearly documented. Has the potential to break things. Explorers and Indexers (how are they extracting withdrawal information right now?) -* The Graph -* Dune + +- The Graph +- Dune **Brainstorming** Withdrawals are system transactions @@ -79,7 +79,6 @@ Potential solutions: It’s still technically possible to emit receipts, but the Inside the node, when someone calls `eth_getLogs` we could add some artificial logs to GNO based on withdrawals. Would be very hacky. Only on the JSON-RPC level. Might be complicated because of some specific optimizations. Might not be related only to `eth_getLogs`, because with those logs you should be sure that the withdrawal was applied, which we can’t necessarily do with Gnosis withdrawals. Could work fine without failing withdrawals. We could add a custom transaction that has a receipt for all the GNO transfer events. This would make blocks a bit more specific. Could make it more difficult for block builders. Some more specific code for Gnosis that is different from mainnet. - # Testnet Timestamp @@ -87,24 +86,13 @@ The shapella hard fork caused the network to no longer accept contract deploymen We fixed the network on May 26, 2023 by updating all Nethermind nodes It didn’t require a hard fork, as it’s the majority client on Chiado and technically didn’t do anything “wrong”, i.e. didn’t produce blocks that are invalid according to our spec -# Hive +# Hive Tests for withdrawals Testing that the balance is applied correctly to the address. Sending transactions and checking that they are performing ok. Checking the storage after withdrawals are applied. Testing sync -Created blocks and transactions and connected other clients to test if they can sync. +Created blocks and transactions and connected other clients to test if they can sync. Tested hard forks Next step is to add Erigon to the tests - - - - - - - - - - - diff --git a/updates/2023/06-07-core-devs-call.md b/updates/2023/06-07-core-devs-call.md index ad409daf..0381602f 100644 --- a/updates/2023/06-07-core-devs-call.md +++ b/updates/2023/06-07-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 07/06/2023 +title: Core Devs Call - 2023/06/07 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -12,27 +12,27 @@ Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team an The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/7QZPO-IU3pY). +For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/7QZPO-IU3pY). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. June 7, 2023 # Client Team Updates -## EL - -* **Nethermind**: No updates. -* **Erigon**: New team member who will be working on Gnosis Chain. -* **Geth**: No updates. +## EL +- **Nethermind**: No updates. +- **Erigon**: New team member who will be working on Gnosis Chain. +- **Geth**: No updates. ## CL -* **Prysm**: No updates. -* **Nimbus**: No updates. +- **Prysm**: No updates. +- **Nimbus**: No updates. # Chain Infra + **Gateway** : No updates. # Withdrawals @@ -41,12 +41,9 @@ GNO transfer events issue. Impacted services / tools https://www.notion.so/gnosischain/Scope-3fc9a72e49ab469092403cc931b4aa46 It should definitely be addressed. -Solutions - - There are a cost for staying ERC20 compliant - - Need more research - - System lvl Tx that may be added at the end of the block . It should be synced properly. No matter if it will contain all withdrawals or we will create transaction per every withdrawal. It will have its own hash. +Solutions - There are a cost for staying ERC20 compliant - Need more research - System lvl Tx that may be added at the end of the block . It should be synced properly. No matter if it will contain all withdrawals or we will create transaction per every withdrawal. It will have its own hash. -OPTION F +OPTION F https://hackmd.io/@dapplion/BJoPtyI82#Option-F-withdraw-contract-pull-distribution Use Aura ‘prioritized’ Tx for withdrawals call This approach considered good and clear @@ -60,26 +57,13 @@ Contact StakeWise Hardfork is delayed. - # Testnet Don’t need hardfork to for withdrawals issue fix (approach ‘F’) -# Hive +# Hive -Hive test are done. Finalized on changes. Finalized Nethermind node sync. Withdrawals simulation created. Sync test also created. +Hive test are done. Finalized on changes. Finalized Nethermind node sync. Withdrawals simulation created. Sync test also created. **Upcoming** Erigon: Repo organization for Erigon and Nethermind - - - - - - - - - - - - diff --git a/updates/2023/06-14-core-devs-call.md b/updates/2023/06-14-core-devs-call.md index 52768697..29b14937 100644 --- a/updates/2023/06-14-core-devs-call.md +++ b/updates/2023/06-14-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 14/06/2023 +title: Core Devs Call - 2023/06/14 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/06-21-core-devs-call.md b/updates/2023/06-21-core-devs-call.md index 90798aea..e583524d 100644 --- a/updates/2023/06-21-core-devs-call.md +++ b/updates/2023/06-21-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 21/06/2023 +title: Core Devs Call - 2023/06/21 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/06-28-core-devs-call.md b/updates/2023/06-28-core-devs-call.md index d7e8e27f..b796e890 100644 --- a/updates/2023/06-28-core-devs-call.md +++ b/updates/2023/06-28-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 28/06/2023 +title: Core Devs Call - 2023/06/28 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/07-05-core-devs-call.md b/updates/2023/07-05-core-devs-call.md index a8c391d0..a8111fbf 100644 --- a/updates/2023/07-05-core-devs-call.md +++ b/updates/2023/07-05-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 05/07/2023 +title: Core Devs Call - 2023/07/05 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/07-12-core-devs-call.md b/updates/2023/07-12-core-devs-call.md index 2f818e81..d4307f54 100644 --- a/updates/2023/07-12-core-devs-call.md +++ b/updates/2023/07-12-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 12/07/2023 +title: Core Devs Call - 2023/07/12 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/07-19-core-devs-call.md b/updates/2023/07-19-core-devs-call.md index 8f30c131..a4556783 100644 --- a/updates/2023/07-19-core-devs-call.md +++ b/updates/2023/07-19-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 19/07/2023 +title: Core Devs Call - 2023/07/19 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/07-26-core-devs-call.md b/updates/2023/07-26-core-devs-call.md index e732908d..813b5fe5 100644 --- a/updates/2023/07-26-core-devs-call.md +++ b/updates/2023/07-26-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 26/07/2023 +title: Core Devs Call - 2023/07/26 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/08-02-core-devs-call.md b/updates/2023/08-02-core-devs-call.md index c9239600..2fa115b9 100644 --- a/updates/2023/08-02-core-devs-call.md +++ b/updates/2023/08-02-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 02/08/2023 +title: Core Devs Call - 2023/08/02 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- diff --git a/updates/2023/08-16-core-devs-call.md b/updates/2023/08-16-core-devs-call.md index 8894da4f..401066a5 100644 --- a/updates/2023/08-16-core-devs-call.md +++ b/updates/2023/08-16-core-devs-call.md @@ -1,5 +1,5 @@ --- -title: Core Devs Call - 08/16/2023 +title: Core Devs Call - 2023/08/16 authors: [dapplion, armaganercan] tags: [CoreDevsCall, gnosis] --- @@ -12,46 +12,45 @@ Welcome to the weekly Gnosis Core Devs Call, where members of the Gnosis team an The participants of this call include representatives from various teams such as Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team, and community contributors. The presence of diverse team members ensures that discussions are comprehensive and informative, with insights from multiple perspectives. -For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/7aYifygdqxo). +For those who missed the live meeting, [a full recording is available on YouTube](https://youtu.be/7aYifygdqxo). The Gnosis Core Devs Call is a crucial component of the Gnosis ecosystem. It provides an opportunity for participants to stay informed, share ideas and collaborate, thus driving innovation and progress within the Gnosis community. August 16, 2023 # Client Team Updates + ## EL -* **Nethermind**: -Nethermind -Started developing the shutter implementation +- **Nethermind**: + Nethermind + Started developing the shutter implementation -* **Erigon**: -Finishing bits and pieces of dencun +- **Erigon**: + Finishing bits and pieces of dencun -* **Geth**: -Pretty much at a dead end at this point -Still getting the wrong root and started making experiments -Confirmed that the initial state root is correct -Confirmed that updates to the state are correct -Alternatives explored -Test on Chiado because the state is way smaller -Getting two consecutive states from Chiado, which archive nodes can’t easily do -Call with Andrew tomorrow +- **Geth**: + Pretty much at a dead end at this point + Still getting the wrong root and started making experiments + Confirmed that the initial state root is correct + Confirmed that updates to the state are correct + Alternatives explored + Test on Chiado because the state is way smaller + Getting two consecutive states from Chiado, which archive nodes can’t easily do + Call with Andrew tomorrow # Chain Infra -* **Gateway** -Missing transactions on Omni Bridge and AMB -Seems related to a container that is constantly restarting -Working on this today - +- **Gateway** + Missing transactions on Omni Bridge and AMB + Seems related to a container that is constantly restarting + Working on this today # Mainnet Automatic withdrawals Not much progress - # Hive Tests Progress with fixing them for different Nethermind versions