-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
42 changed files
with
269 additions
and
321 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
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 |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# terra-money/mantlemint | ||
# classic-terra/mantlemint | ||
|
||
|
||
## What is Mantlemint? | ||
|
@@ -9,8 +9,8 @@ Native query performance on RPC is slow and is not suitable for massive query ha | |
|
||
If you are looking to serve any kind of public node accepting varying degrees of end-user queries, it is recommended that you run a mantlemint instance alongside of your RPC. While mantlemint is indeed faster at resolving queries, due to the absence of IAVL tree and native tendermint, it cannot join p2p network by itself. Rather, you would have to relay finalized blocks to mantlemint, using RPC's websocket. | ||
|
||
## Currently supported terra-money/core versions | ||
- columbus-5 | terra-money/core@0.5.x | tendermint v0.34.x | ||
## Currently supported classic-terra/core versions | ||
- columbus-5 | classic-terra/core@2.1.x | tendermint v0.34.x | ||
|
||
|
||
## Features | ||
|
@@ -24,7 +24,7 @@ If you are looking to serve any kind of public node accepting varying degrees of | |
|
||
## Installation | ||
|
||
This specific directory contains mantlemint implementation for [@terra-money/core@0.5.x](https://github.com/terra-money/core) (compatible with [[email protected]](https://github.com/tendermint/tendermint)). | ||
This specific directory contains mantlemint implementation for [@classic-terra/core@2.1.x](https://github.com/terra-money/core) (compatible with [[email protected]](https://github.com/tendermint/tendermint)). | ||
|
||
Go v1.17+ is recommended for this project. | ||
|
||
|
@@ -47,7 +47,7 @@ $ make install # results in $GOPATH/bin/mantlemint | |
|
||
Since mantlemint cannot join p2p network by itself, it depends on RPC to receive recently proposed blocks. | ||
|
||
Any [Terra node](https://github.com/terra-money/core) with port 26657 enabled can be used for this. | ||
Any [Terra node](https://github.com/classic-terra/core) with port 26657 enabled can be used for this. | ||
|
||
#### 2. `config/app.toml`, a genesis file | ||
|
||
|
@@ -94,12 +94,12 @@ INDEXER_DB=indexer \ | |
# Flag to enable/disable mantlemint sync, mainly for debugging | ||
DISABLE_SYNC=false \ | ||
|
||
# Run sync binary | ||
sync | ||
# Run mantlemint binary | ||
mantlemint | ||
|
||
# Optional: crisis module's invariant check is known to take hours. | ||
# You can skip it by providing --x-crisis-skip-assert-invariants flag | ||
sync --x-crisis-skip-assert-invariants | ||
mantlemint --x-crisis-skip-assert-invariants | ||
``` | ||
|
||
### Adjusting smart contract memory cache size | ||
|
@@ -138,14 +138,14 @@ Please note that mantlemint still is able to serve queries while `/health` retur | |
- `/index/tx/by_height/{height}`: List all transactions and their responses in a block. Equivalent to `tendermint/block?height=xxx`, with tx responses base64-decoded for better usability. | ||
- `/index/tx/by_hash/{txHash}`: Get transaction and its response by hash. Equivalent to `lcd/txs/{hash}`, but without hitting RPC. | ||
|
||
## Notable Differences from [core](https://github.com/terra-money/core) | ||
## Notable Differences from [core](https://github.com/classic-terra/core) | ||
|
||
- Uses a forked [tendermint/tm-db](https://github.com/terra-money/tm-db/commit/c71e8b6e9f20d7f5be32527db4a92ae19ac0d2b2): Disables unncessary mutexes in `prefixdb` methods | ||
- Replaces ABCIClient with [NewConcurrentQueryClient](https://github.com/terra-money/mantlemint/blob/main/mantlemint/client.go#L110): Removal of mutexes allow better concurrency, even during block injection | ||
- Uses single batch-protected db: All state changes are flushed at once, making it safe to read from db during block injection | ||
- Automatic failover: In case of block injection failure, mantlemint reverts back to the previous known state and retry | ||
- Strictly no `tendermint`; some parameters in app.toml would not affect `mantlemint` | ||
- Following endpoints are not implemented | ||
- Following endpoints are not implemented | ||
- `GET /blocks/` | ||
- `GET /blocks/latest` | ||
- `GET /txs/{hash}` | ||
|
@@ -156,7 +156,7 @@ Please note that mantlemint still is able to serve queries while `/health` retur | |
|
||
## FAQ | ||
|
||
### Q1. Can I use public RPC (http://public-node.terra.dev:26657) as RPC and WS endpoints? | ||
### Q1. Can I use public RPC and WS endpoints? | ||
|
||
While you can, we do NOT recommend doing so. We only expose public node as a seed node for p2p, and its http/ws connection may not be stable. It is safer to have your own RPC | ||
|
||
|
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
Oops, something went wrong.