/finschia

Finschia is a mainnet app implementation using finschia-sdk, ostracon, wasmd and ibc-go.

Primary LanguageGoApache License 2.0Apache-2.0

Finschia

codecov license LoC Go Report Card GolangCI

This repository hosts Finschia. This repository is forked from gaia at 2021-03-15. Finschia is a mainnet app implementation using finschia-sdk, ostracon, wasmd and ibc-go.

Node: Requires Go 1.22+

Quick Start

Docker

Build Docker Image

make docker-build                # build docker image

or

make docker-build WITH_CLEVELDB=yes GITHUB_TOKEN=${YOUR_GITHUB_TOKEN}  # build docker image with cleveldb

Note1

If you are using M1 mac, you need to specify build args like this:

make docker-build ARCH=arm64

Configure

sh init_single.sh docker          # prepare keys, validators, initial state, etc.

or

sh init_single.sh docker testnet  # prepare keys, validators, initial state, etc. for testnet

Run

docker run -i -p 26656:26656 -p 26657:26657 -v ${HOME}/.finschia:/root/.finschia finschia/finschianode fnsad start

Local

Build

make build
make install 

Configure

sh init_single.sh

or

sh init_single.sh testnet  # for testnet

Run

fnsad start                # Run a node

visit with your browser

Localnet with 4 nodes

Run

make localnet-start

Stop

make localnet-stop

Finschia Mainnet/Testnet

Public endpoints

Chain Chain ID Endpoint
Finschia mainnet finschia-2 https://finschia-api.finschia.io (REST)
https://finschia-rpc.finschia.io/ (RPC)
finschia-grpc.finschia.io:443 (gRPC)
https://finschia-api.finschia.io/swagger/ (Swagger)
Ebony testnet ebony-2 https://ebony-api.finschia.io (REST)
https://ebony-rpc.finschia.io (RPC)
ebony-grpc.finschia.io:443 (gRPC)
https://ebony-api.finschia.io/swagger/ (Swagger)

Genesis/Snapshot files for Finschia mainnet/testnet

Current Finschia mainnet/testent environment

Testnet Faucet

  • Check faucet status
curl -X GET https://faucet-ebonynw.line-apps.com/status
  • How to get coins for Ebony testnet
curl --header "Content-Type: application/json" \
     --request POST \
     --data '{"denom":"tcony","address":"REPLACE WITH YOUR ADDRESS tlink1..."}' \
     https://faucet-ebonynw.line-apps.com/credit

CLI Examples

Account

  • Create an account
    • fnsad keys add <account_name>
  • Manage an account key
    • Key information
      • fnsad keys show <account_name>
    • Address of validator node operator
      • fnsad keys show <account_name> --bech=val
    • Available keys
      • fnsad keys list

Transaction

  • Send coins Tx
    • fnsad tx bank send <from_address> <to_address> <amount> <flags> --chain-id=<chain_id>
    • example
      • fnsad tx bank send <from_address> <to_address> 1000000cony --chain-id finschia-2 --gas-prices=0.015cony --gas auto --gas-adjustment 1.3
  • Query Tx
    • Search a transaction matching a hash
      • fnsad query tx <tx_hash>

Query

  • Query an account
    • fnsad query account <account_address>
  • Check balance
    • fnsad query bank balances <account_address>
  • Check module parameters
    • fnsad query gov params

REST API Examples

  • Query the current state
curl \
    -X GET \
    -H "Content-Type: application/json" \
    http://localhost:1317/cosmos/bank/v1beta1/balances/<address>
  • Query the past state
    • Use the HTTP header x-cosmos-block-height to make a query for the past state.
curl \
    -X GET \
    -H "Content-Type: application/json" \
    -H "x-cosmos-block-height: 279256"
    http://localhost:1317/cosmos/bank/v1beta1/balances/<address>

How to contribute

check out CONTRIBUTING.md for our guidelines & policies for how we develop Finschia. Thank you to all those who have contributed!