Before you continue, ensure you have met the following requirements:
- Node.js: Make sure you have Node.js installed on your machine. You can download and install it from here.
- Docker Engine and Docker Compose: Ensure Docker Engine and Docker Compose are installed on your machine. You can download and install them from the provided links.
These prerequisites are necessary for running and building the project. Make sure to have them installed before proceeding.
- Clone the repository:
$ git clone https://github.com/migalabs/eth-seer.git
Or if you have SSH key:
$ git clone git@github.com:migalabs/eth-seer.git
- Create .env file within the
packages/client
andpackages/server
directories. There are examples in both directories of these files. (packages/client/.env.example
andpackages/server/.env.example
).
- To install dependencies:
$ npm run ci
- To run the client:
$ npm run app
- To run the server:
$ cd packages/server
$ npm run build
$ npm run start
- Connect to database An example database connection is:
NETWORKS='[
{ "network": "mainnet", "user": "ethseer-reader", "host": <ip>, "name": "ethseer-mainnet", "port": 5432, "password": "pass" },
{ "network": "goerli", "user": "ethseer-reader", "host": <ip>, "name": "ethseer-goerli", "port": 5432, "password": "pass" },
]'
docker-compose up -d
All systems should boot and start working as normal.
Ethseer's data is powered by GotEth. Thus, please refer to this repository, which contains all the needed configurations to easily run GotEth with Ethseer.
Contributions are always welcome and appreciated. If you’d like to contribute to Ethseer, there are several ways you can help:
-
Report a bug
If you encounter any bugs or have suggestions for improvements, feel free to open an issue here and we will take care of it. -
Request a feature
If you have ideas for new features, feel free to open an issue here to discuss and propose your ideas. -
Create a pull request
If you'd like to contribute directly by implementing new features or fixing bugs, please fork the repository, create a new branch, and submit a pull request here.
Before submitting a pull request, make sure to:
- Follow the coding style and conventions used in the project.
- Write tests for any new functionality or changes.
- Update the documentation if needed.
If you are new to open-source, make sure to check read more about it here and learn more about creating a pull request here.
-
dev
is the development branch. -
main
is the production branch. -
No other permanent branches should be created in the main repository, you can create feature branches but they should get merged with the master.
Steps to work with feature branch
- To start working on a new feature, create a new branch prefixed with
feat
and followed by feature name. (ie.feat-FEATURE-NAME
) - Once you are done with your changes, you can raise PR.
Steps to create a pull request
- Make a PR to
dev
branch. - Comply with the best practices and guidelines e.g. where the PR concerns visual elements it should have an image showing the effect.
- It must pass all checks and get positive reviews.
After this, changes will be merged.
Thanks go to these wonderful people:
Leonardo Bautista-Gomez |
Tarun Mohandas Daryanani |
Mikel Cortes-Goicochea |
Santiago Somoza |
Josep Chetrit |
Iuri Pons |
Marina Terentii Cebotari |
Marc Pujadas |
Ethseer is compatible with the following Blockchain networks:
- Mainnet: The primary Ethereum network used for transactions and contracts in the production environment.
- Goerli: A test network for Ethereum, used for development and testing. Goerli will be deprecated soon.
- Sepolia: A test network for Ethereum designed specifically for developers to test and experiment with their smart contracts and DApps before deploying them on the mainnet.
- Holesky: A test network for Ethereum, the purpose is to closely replicate real conditions on the Ethereum network.
- Devnet9: A devnet network for Ethereum Devnet-cancun (EIP4844) upgrade.
When using Ethseer, make sure to configure the appropriate network based on your needs, whether it's for operations on the main network (Mainnet) or for testing in a development environment.
Enjoy the experience here:
This project was done by our Migalabs team. Feel free to check our website and other services we offer here.
If you have any questions related to our platform, projects or services, please don't hesitate to contact us here.
Ethseer is licensed under the BSD-3-Clause License.