Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Lagrange-Labs/lsc-node


https://github.com/Lagrange-Labs/lsc-node

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Lagrange State Committee Node

This is the LSC Node, a node that can be used to run a Lagrange State Committee network.

## Table of Contents

- [Architecture](#architecture)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)

## Architecture

The LSC Node consists of the following components:

- Sequencer
- AVS-Synchronizer
- gRPC Sequencer Server
- gRPC Client Node

Here is the diagram of the architecture:



## Installation

### Prerequisites

This project is written in Go 1.21. You can download it from [here](https://golang.org/dl/).

### Build

To build the project, run the following command:

```bash
make build
```

This will create a binary called `lagrange-node` in the `dist` directory.

## Usage

- To run the sequencer, run the following command:

```bash
./dist/lagrange-node run-sequencer -c
```

- To run the gRPC sequencer server, run the following command:

```bash
./dist/lagrange-node run-server -c
```

- To join a network and run the client node, run the following command:

```bash
./dist/lagrange-node run-client -c
```

### Migration Tool

The migration tool is used to migrate the database schema. To run the migration tool, run the following command:

```bash
go run ./cmd/migrate/... up/down -u -s
```

### Test & Useful Commands

Here are the commands to run the tests:

```bash
# Run unit-tests
make test
```

```bash
# Run the local network
make localnet-start
```

```bash
# Stop the local network
make stop
```

```bash
# Generate the protobuf files
make proto-gen
```

```bash
# Build the docker image
make docker-build
```

```bash
# Install linter
make install-linter
```

```bash
# Lint the codebase
make lint
```

## License

This project is licensed under the [XXXX](./LICENSE).

[⬆️ Back to Top](#table-of-contents)