Skip to content

Commit 2be7bc5

Browse files
authored
Merge pull request #585 from openmina/release-adjustments
Release adjustments
2 parents 05473ce + a02b2e6 commit 2be7bc5

File tree

2 files changed

+80
-43
lines changed

2 files changed

+80
-43
lines changed

Cargo.lock

Lines changed: 24 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 56 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,78 @@
11

22
# The Open Mina Node
33

4+
## With the Rust-based Open Mina node, you can produce, validate and apply blocks
5+
46
[![Openmina Daily](https://github.com/openmina/openmina/actions/workflows/daily.yaml/badge.svg)](https://github.com/openmina/openmina/actions/workflows/daily.yaml) [![Changelog][changelog-badge]][changelog] [![release-badge]][release-link] [![Apache licensed]][Apache link]
57

8+
## Run the block producer
9+
10+
Once you have completed the [pre-requisites](https://github.com/openmina/openmina/blob/main/docs/producer-demo.md#prerequisites) for your operating system, follow these steps:
11+
12+
1. **Clone this repository:**
13+
```bash
14+
git clone https://github.com/openmina/openmina.git
15+
```
16+
17+
2. **Navigate to the repository:**
18+
19+
```bash
20+
cd openmina
21+
```
22+
23+
3. **Run the following command to start the demo:**
24+
```sh
25+
docker compose -f docker-compose.local.producers.yml up --pull always
26+
```
27+
28+
4. **Open you browser and visit http://localhost:8070**
29+
30+
![image](https://github.com/user-attachments/assets/c8929509-f68b-4281-bcb9-bad03029fa2f)
31+
32+
## Description
33+
634
The Open Mina Node is a Mina node written completely in Rust and capable of verifying blocks of transactions, producing blocks and generating SNARKs.
735

836
In the design of the Open Mina node, we are utilizing much of the same logic as in the Mina Web Node. The key difference is that unlike the Web Node, which is an in-browser node with limited resources, the Open Mina node is able to perform resource-intensive tasks such as SNARK proof generation.
937

10-
1138
## Overview of the Node’s current functionalities
1239

13-
Currently, with the Open Mina node, you can:
1440

41+
| Current functionalities | In Development | Future Plans |
42+
|---------------------------------------------------------------------------------------------|--------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
43+
| ☑ **Produce and prove blocks** (with and without transactions). | ☐ Receiving and broadcasting transactions from/into the transaction pool. | ☐ Direct transfer of MINA funds using Webnode |
44+
| ☑ **Produce SNARK proofs** for transactions. | ☐ A block replayer that uses data from the archive nodes| ☐ O1JS support for Webnode.|
45+
| ☑ **Connect to the network** and sync up to the best tip block | | |
46+
| ☑ **Validate and apply new blocks** and transactions to update consensus and ledger state. | | |
47+
| ☑ **Broadcast messages**: blocks, SNARK pool | | |
48+
49+
Please note that receiving and broadcasting transactions from/into the transaction pool is already possible, but is still an early alpha version and needs more work.
1550

1651

17-
* Connect to the network and sync up to the best tip block
18-
* Validate and apply new blocks and transactions to update consensus and ledger state.
19-
* Produce SNARKs to complete SNARK work.
20-
* Broadcast messages: blocks, SNARK pool
52+
## Updates to the Front End
2153

54+
We've added two new pages to the node's front end:
2255

23-
We are working on the following:
56+
### Mempool
2457

58+
![image](https://github.com/user-attachments/assets/a66b993d-5a9f-42a7-a946-f19f6e18e6ab)
2559

26-
* Produce SNARKs in Rust (currently we use OCaml subprocess for that)
2760

61+
Shows a list of the transactions from the pool and a side panel detail.
2862

29-
In the future, we plan to implement:
63+
### Benchmarks
3064

31-
* Direct transfer of MINA funds
32-
* Block production
33-
* SNARK proof generation for transactions
34-
* SnarkyJS support for Rust node, thanks to which you will be able to directly inject simple transactions, such as transferring Mina funds from one account to another.
35-
* The ability to record/replay all blocks
65+
![image](https://github.com/user-attachments/assets/5aa9f0b8-2f53-4c2e-8b60-ed2ccaa7335b)
3666

37-
## Producer demo
67+
The benchmarks page helps us to send transactions. The transactions are signed in the front end by the Mina signer.
68+
Every user can send transactions and they can see in the mempool whether the transactions were sent by their node.
3869

39-
See the detailed [guide](docs/producer-demo.md).
70+
## Launch the block producer demo
4071

41-
## How to launch (with docker compose):
72+
Run the Open Mina block producer node by following this [guide](https://github.com/openmina/openmina/blob/main/docs/producer-demo.md).
73+
74+
75+
## How to launch the node (with Docker compose):
4276

4377
Run:
4478

@@ -48,9 +82,12 @@ docker compose up --pull always
4882
4983
Then visit http://localhost:8070 in your browser.
5084
85+
![image](https://github.com/user-attachments/assets/b8e10a12-ec96-44a9-951a-ef0c1b291428)
86+
87+
5188
By default, `docker compose up` will use the latest node and frontend images available (tagged with `latest`), but specific versions can be selected by using the `OPENMINA_TAG` and `OPENMINA_FRONTEND_TAG` variables.
5289
53-
## How to launch (without docker compose):
90+
## How to launch the node (without Docker compose):
5491
5592
This installation guide has been tested on Debian and Ubuntu and should work on most distributions of Linux.
5693
@@ -197,4 +234,4 @@ npm start
197234
[release-link]: https://github.com/openmina/openmina/releases/latest
198235

199236
[Apache licensed]: https://img.shields.io/badge/license-Apache_2.0-blue.svg
200-
[Apache link]: https://github.com/openmina/openmina/blob/master/LICENSE
237+
[Apache link]: https://github.com/openmina/openmina/blob/master/LICENSE

0 commit comments

Comments
 (0)