Coder Social home page Coder Social logo

arkeo's Introduction

Arkeo Protocol

Arkeo Protocol - Free Market Blockchain Data Infrastructure

Arkeo CI Release

arkeo is a blockchain built using Cosmos SDK and Tendermint and created with Ignite CLI.

Setting up a node

Make sure your system is updated and set the system parameters correctly:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential curl wget jq make gcc chrony git
sudo su -c "echo 'fs.file-max = 65536' >> /etc/sysctl.conf"
sudo sysctl -p

Install go

sudo rm -rf /usr/local/.go
wget https://go.dev/dl/go1.19.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.19.2.linux-amd64.tar.gz
sudo cp /usr/local/go /usr/local/.go -r
sudo rm -rf /usr/local/go

Update environment variables to include go

cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/.go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/.go/bin:$HOME/go/bin
EOF
source $HOME/.profile

Check if go is correctly installed:

go version

This should return something like "go version go1.18.1 linux/amd64"

Arkeo Binary

Install the Arkeo binary

git clone https://github.com/arkeonetwork/arkeo
cd arkeo
git checkout ab05b124336ace257baa2cac07f7d1bfeed9ac02
make proto-gen install
[binary] version

Configure the binary

[binary] keys add <key-name>
[binary] config chain-id arkeo
[binary] init <your_custom_moniker> --chain-id arkeo
curl -s http://seed.arkeo.network:26657/genesis | jq '.result.genesis' > ~/.arkeo/config/genesis.json
sudo ufw allow 26656

Set the seed in the config.toml (find seeds here: [insert link to file containing seeds]):

nano $HOME/.arkeo/config/config.toml
seeds="[put in seeds]"
indexer = "null"

Configure also the app.toml:

minimum-gas-prices = 0.001uarkeo
pruning: "custom"
pruning-keep-recent = "100"
pruning-keep-every = "0"
pruning-interval ="10"
snapshot-interval = 1000
snapshot-keep-recent = 2

Create the service file for Arkeo to make sure it remains running at all times

sudo tee /etc/systemd/system/arkeod.service > /dev/null <<EOF
[Unit]
Description=Arkeo Daemon
After=network-online.target

[Service]
User=$USER
ExecStart=$(which arkeod) start
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
sudo mv /etc/systemd/system/arkeod.service /lib/systemd/system/

Start the binary

sudo -S systemctl daemon-reload
sudo -S systemctl enable arkeod
sudo -S systemctl start arkeod
sudo systemctl enable arkeod.service && sudo systemctl start arkeod.service

Monitor using:

systemctl status arkeod
sudo journalctl -u arkeod -f

Building the chain

Get started

ignite chain serve

serve command installs dependencies, builds, initializes, and starts your blockchain in development.

Configure

Your blockchain in development can be configured with config.yml. To learn more, see the Ignite CLI docs.

Release

To release a new version of your blockchain, create and push a new tag with v prefix. A new draft release with the configured targets will be created.

git tag v0.1
git push origin v0.1

After a draft release is created, make your final changes from the release page and publish it.

Install

To install the latest version of your blockchain node's binary, execute the following command on your machine:

curl https://get.ignite.com/username/arkeo@latest! | sudo bash

arkeonetwork/arkeo should match the username and repo_name of the Github repository to which the source code was pushed. Learn more about the install process.

Regression Tests

We expose a testing framework that allows the definition of test cases and suites using a DSL in YAML. Providing a regular expression to the RUN environment variable will match against files in test/regression/suites to filter tests to run.

make test-regression

# with more detailed logs
DEBUG=1 make test-regression

# with specific test filters
RUN=initialize make test-regression
RUN=free-query test-regression

# overwrite export state
EXPORT=1 make test-regression

# check last run coverage
make test-regression-coverager

See more detailed information in test/regression/README.md.

Learn more

arkeo's People

Contributors

cbarraford avatar 0xean avatar johnnyluo avatar asamere avatar ursa9r avatar pastaghost avatar leonoorscryptoman avatar pa1amar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.