Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/persistenceOne/persistenceCore

Project implementing an application for the Persistence Core chain that all the other chains in the ecosystem connect to as a raised and open moderator for interoperability, shared security, and as a gateway to other ecosystems and chains.
https://github.com/persistenceOne/persistenceCore

Last synced: about 1 month ago
JSON representation

Project implementing an application for the Persistence Core chain that all the other chains in the ecosystem connect to as a raised and open moderator for interoperability, shared security, and as a gateway to other ecosystems and chains.

Awesome Lists containing this project

README

        

# persistenceCore

[![LoC](https://tokei.rs/b1/github/persistenceOne/persistenceCore)](https://github.com/persistenceOne/persistenceCore)

This project implements an application for the Persistence Core chain that all the other chains in the ecosystem connect
to as a raised and open moderator for interoperability, shared security, and as a gateway to other ecosystems and
chains.

## Talk to us!

* [Twitter](https://twitter.com/PersistenceOne)
* [Telegram](https://t.me/PersistenceOneChat)
* [Discord](https://discord.com/channels/796174129077813248)

## Hardware Requirements

* **Minimal**
* 1 GB RAM
* 25 GB HDD
* 1.4 GHz CPU
* **Recommended**
* 2 GB RAM
* 100 GB HDD
* 2.0 GHz x2 CPU

> NOTE: SSDs have limited TBW before non-catastrophic data errors. Running a full node requires a TB+ writes per day,
> causing rapid deterioration of SSDs over HDDs of comparable quality.

## Operating System

* Linux/Windows/MacOS(x86)
* **Recommended**
* Linux(x86_64)

## Installation Steps

> Prerequisite: Go 1.21.0+ required. [ref](https://golang.org/doc/install)

> Prerequisite: git. [ref](https://github.com/git/git)

> Optional requirement: GNU make. [ref](https://www.gnu.org/software/make/manual/html_node/index.html)

* Clone git repository

```shell
git clone https://github.com/persistenceOne/persistenceCore.git
```

* Checkout release tag

```shell
cd persistenceCore
git fetch --tags
git checkout [vX.X.X]
```

* Install

```shell
make all
```

### Generate keys

`persistenceCore keys add [key_name]`

or

`persistenceCore keys add [key_name] --recover` to regenerate keys with
your [BIP39](https://github.com/bitcoin/bips/tree/master/bip-0039) mnemonic

### Connect to a chain and start node

* [Install](#installation-steps) persistenceCore application
* Initialize node

```shell
persistenceCore init [NODE_NAME]
```

* Replace `${HOME}/.persistenceCore/config/genesis.json` with the genesis file of the chain.
* Add `persistent_peers` or `seeds` in `${HOME}/.persistenceCore/config/config.toml`
* Start node

```shell
persistenceCore start
```

### Initialize a new chain and start node

* Initialize: `persistenceCore init [node_name] --chain-id [chain_name]`
* Add key for genesis account `persistenceCore keys add [genesis_key_name]`
* Add genesis account `persistenceCore add-genesis-account [genesis_key_name] 10000000000000000000stake`
* Create a validator at genesis `persistenceCore gentx [genesis_key_name] 10000000stake --chain-id [chain_name]`
* Collect genesis transactions `persistenceCore collect-gentxs`
* Start node `persistenceCore start`
* To start rest server set `enable=true` in `config/app.toml` under `[api]` and restart the chain

### Ledger Support

> NOTE: *If you are using Cosmos Ledger app*: Persistence uses coin-type 750; generating keys through this method below
> will create keys with coin-type 118(cosmos) and will only be supported by CLI and not by current or future wallets.

* Install the Persistence application on the Ledger
device. [ref](https://github.com/persistenceOne/persistenceCore/blob/main/docs/resources/Ledger.md#install-the-persistence-ledger-application)
* Connect the Ledger device to a system with persistenceCore binary and open the Persistence application on it.
* Add key

```shell
persistenceCore keys add [key_name] --ledger
```

* Sign transaction

```shell
persistenceCore tx [transaction parameters] --ledger
```

### Reset chain

```shell
rm -rf ~/.persistenceCore
```

### Shutdown node

```shell
killall persistenceCore
```

### Check version

```shell
persistenceCore version
```

## Test-nets

* [test-core-2](https://github.com/persistenceOne/genesisTransactions/tree/master/test-core-2)

## Main-net

* [core-1](https://github.com/persistenceOne/genesisTransactions/tree/master/core-1)