---
# System prepended metadata

title: Test web3signer brain implementation

---

# Test web3signer brain implementation

- [x] Prater
- [x] Gnosis
- [x] Mainnet 

### Description

The brain will be a new piece in the web3signer, which will handle the truth after the update of the web3signer. For this reason this is a critical update that must be tested deeply. The brain will be in charge of replicating the truth among the consensus client and the signer, plus serving the frontend to handle the keystores and fee recipients.

The most critical step to test is the creation of the database in the brain. This step will be done on the first time when installing the brain. The brain will create a database of pubkeys + fee recipients + tags based on signer and consensus client data. After this point, the truth will no longer be in the client/signer but in the brain.

### Issues reported

- During the gnosis migration implementation, for users running a lot of validators, the signer service may take a lot of time to startup (up to 5 minutes for 1000 validators). The brain timeout to create the initial database was 5 minutes so those users with too many validators lost their keystores. The fix goes through increasing the brain timeout.

### Test

This test must be replicated with 2, 100 and 1000 keystores

1. Install signer mainnet production: (mainnet hash `QmVKeF5c7NfsxRfcU4X2Wwn8vUMXimspRWrR9CZp7rnXTa`)
2. Upload the keystores
3. Install web3signer with brain implementation: (mainnet hash `QmW4zLbnb4dxrRqCpZC1tCTbCLHZLvFY8g3rr6yG3ANUzn`)
4. Check the brain logs. There should be attemps for migration and depending on the keystores loaded onto the web3signer the migration may be performed before or later.
5. Check the brain UI (http://brain.web3signer.dappnode) and verify all the keystores are still there.

