-
Notifications
You must be signed in to change notification settings - Fork 138
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #416 from gnosischain/main
Merge from main
- Loading branch information
Showing
7 changed files
with
277 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
--- | ||
description: Dynamic is a powerful web3 auth developer platform with built-in support for Gnosis Chain. It lets you integrate multiple wallets such as Coinbase Wallet, Metamask, and more into your app or website, handles network switching, multi-wallet linking and more. This guide will show you how to use Gnosis Chain with Dynamic. | ||
keywords: [dynamic, wagmi, tools, front end, development, dapps] | ||
--- | ||
|
||
# Using Dynamic | ||
|
||
[Dynamic](https://www.dynamic.xyz/) is a powerful web3 auth developer platform with built-in support for Gnosis Chain. It lets you integrate multiple wallets such as Coinbase Wallet, Metamask, and more into your app or website, handles network switching, multi-wallet linking and more. | ||
|
||
Dynamic comes with Gnosis Chain built-in. You can play around with a live demo of Dynamic [here](https://demo.dynamic.xyz/) and see a full video walkthrough [here](https://www.dynamic.xyz/product-walkthrough). In this tutorial, we'll go through how to set up Dynamic with Gnosis Chain. | ||
|
||
You can see a CodeSandbox of the example below [here](https://codesandbox.io/s/dynamic-gnosis-chain-demo-vzps4b) (configured to Gnosis Chain). | ||
|
||
## Prerequisites | ||
|
||
Dynamic works with React today. You can go through the standard getting started guide [here](https://docs.dynamic.xyz/docs/getting-started-with-dynamic). | ||
|
||
## Step 1: Create a Dynamic account | ||
|
||
1. [Sign up](https://app.dynamic.xyz) to get an environment ID | ||
|
||
2. Create an organization and a set up your first project | ||
|
||
3. Copy your `environmentID` from the Dynamic overview page | ||
|
||
4. (optional) <a href="doc:security" target="_blank"> Configure your site's CORS origins</a> | ||
|
||
## Step 2: Install the Dynamic npm package | ||
|
||
You can install Dynamic's SDK with either `yarn` or `npm`. We currently support React and NextJS. | ||
|
||
```shell | ||
npm install @dynamic-labs/sdk-react | ||
# or yarn add @dynamic-labs/sdk-react | ||
``` | ||
|
||
|
||
|
||
## Step 3: Configure the SDK | ||
|
||
Copy the following snippet into your project and paste in your environmentId: | ||
|
||
```javascript | ||
import { DynamicContextProvider, DynamicWidget} from '@dynamic-labs/sdk-react'; | ||
|
||
const App = () => ( | ||
<DynamicContextProvider | ||
settings={{ | ||
environmentId: 'ID' | ||
}}> | ||
<DynamicWidget /> | ||
</DynamicContextProvider> | ||
); | ||
|
||
export default App; | ||
``` | ||
|
||
|
||
|
||
## Step 4: Turn on Gnosis Chain in your developer dashboard | ||
|
||
Now that we have the basic Dynamic setup, you can go to your developer dashboard, and select `configurations` from the left menu. Next, click on the `EVM` card and toggle `Gnosis` on. Note that you can also chose to toggle the default network, `Ethereum`, off. | ||
|
||
<img width="600" alt="Gnosis_new" src="https://user-images.githubusercontent.com/1596208/228478128-925acb34-1f5d-45a5-bd2a-c6467af265a7.png" /> | ||
|
||
|
||
|
||
## See it in action | ||
|
||
Now that you put things together, you can see a CodeSandbox of the finished product [here](https://codesandbox.io/s/dynamic-gnosis-chain-demo-vzps4b). | ||
|
||
## Next steps | ||
|
||
Now that you set up Dynamic with **Gnosis Chain**, there are many additional things you can explore: | ||
|
||
- **Log in with your wallet, and see data in Dynamic's developer dashboard** - Now that your widget is set up locally, try to log in with a wallet. As soon as you do, head over to the Dynamic developer dashboard and click on user management and analytics. You'll be able to see your user show up! | ||
- **Customize your SDK design** - There are many ways to customize the Dynamic modal to fit your needs (you can explore them in the SDK configuration section), but to start, we suggest setting a light/dark mode and a primary color for the modal, which you can do in the design section of your developer dashboard. | ||
- **Explore how to use the Dynamic SDK** - After your users connect their wallets, you'll want to interact with them for various reasons. You can read more about the SDK in [Dynamic's docs](https://docs.dynamic.xyz). | ||
|
||
For support, you can also join [Dynamic's Slack Community](https://www.dynamic.xyz/slack). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
--- | ||
title: Core Devs Call - 22/03/2023 | ||
authors: [dapplion, armaganercan] | ||
tags: [CoreDevsCall, gnosis] | ||
--- | ||
|
||
# Gnosis Core Devs Call Notes | ||
|
||
![](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. | ||
|
||
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 | ||
|
||
## CL | ||
* **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 | ||
|
||
|
||
# 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 | ||
|
||
Igor: where do (automatic) withdrawals go for genesis validators? Do they have a withdrawal address? | ||
Lion: the default tooling sets addresses to 0 | ||
Jorge: they sometimes set withdrawal addresses on genesis or after, depending on what’s to be tested | ||
Ruben: can help on how to check if withdrawals are happening or not | ||
The failed withdrawals per slot are fixed to 4 on Nethermind’s side for now | ||
Lion: this should be a consensus config | ||
Marek: how can we be sure that we are triggering all testing paths? | ||
Lion: we could add coverage tools from Solidity to automate those tests | ||
Igor: we need tooling to automatically test withdrawals, because they happen on both consensus and execution | ||
Lion: for the withdrawal contract we can easily test it on chain now because it’s insolvent at genesis anyways, as the validators are created in genesis and thus there’s no GNO in the contract | ||
Jorge: instead of deploying a new devnet or messing with the current one, we can create a shadow fork and modify some storage there to test specific scenarios | ||
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 | ||
|
||
Was supposed to hard fork next week: still realistic? | ||
Igor: probably wise to postpone until Erigon is ready | ||
|
||
|
||
# Tests | ||
* 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 | ||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
--- | ||
title: Core Devs Call - 22/03/2023 | ||
authors: [dapplion, armaganercan] | ||
tags: [CoreDevsCall, gnosis] | ||
--- | ||
|
||
# Gnosis Core Devs Call Notes | ||
|
||
![](https://i.imgur.com/JhORmO7.png) | ||
|
||
Greetings everyone, and welcome to the weekly Gnosis Core Devs Call. Just a quick reminder that this meeting takes place every Wednesday. | ||
|
||
[Watch full record on YouTube](https://youtu.be/mKJolP4AtKY) | ||
|
||
Participants: Erigon, Gateway, Nethermind, Geth, Gnosis DevOps, Gnosis Core Devs, Gnosis DevRels, Gnosis Comms team and the contributors. | ||
|
||
Mar 29, 2023 | ||
|
||
# Client Team Updates | ||
## EL | ||
* **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* | ||
|
||
Improving attestation performance | ||
Better multi-threading | ||
Potentially (but way later) snap sync | ||
|
||
* **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**: | ||
|
||
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**: | ||
|
||
No updates. Guillaume is focused on Geth | ||
* **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. | ||
|
||
|
||
# Devnet | ||
|
||
Withdrawals are working again. Tried partial withdrawals, not full exit yet. Gnosis mostly deployed Nethermind nodes. No one seems to know if Erigon nodes still sync. Andrew’s Erigon nodes still work | ||
|
||
There’s close to 100% attestation participation.Ruben can do a full exit on 1024 nodes to drain the GNO in the deposit contract. | ||
|
||
There’s a faucet for GNO afterwards.Ruben expects Gnosis to be testing this a bit more | ||
|
||
Lion will run Truffle scripts | ||
|
||
# Tests | ||
* 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. | ||
|
||
|
||
|
||
|
||
|
||
|