Code Monkey home page Code Monkey logo
OKP4 – Open Knowledge Protocol For photo

okp4 Goto Github PK

repos: 65.0 gists: 0.0

Name: OKP4 – Open Knowledge Protocol For

Type: Organization

Bio: OKP4 is an ever-expanding universe of applications powered by shared digital resources.

Twitter: OKP4_Protocol

Location: Switzerland

Blog: https://okp4.network

okp4 github banner

       

𝒐𝒌𝒑4𝒅

lint build test codecov docker-pull discord conventional commits semantic-release Contributor Covenant license

OKP4 is a public dPoS layer 1 specifically designed to enable communities to trustlessly share data, algorithms and resources to build the Dataverse - An open world where everybody can create or participate in custom ecosystems (with common governance mechanisms, sharing rules, business models...) to build a new generation of dApps way beyond Decentralized Finance.

The protocol

okp4d is the node of the OKP4 network built on the Cosmos SDK 💫 & Tendermint consensus, and designed to become a hub of incentivized data providers, developers, data scientists & users collaborating to generate value from data and algorithms.

Read more in the introduction blog post. For a high-level overview of the OKP4 protocol and network economics, check out the white paper.

Want to become a validator?

Validators are responsible for securing the okp4 network. Validator responsibilities include maintaining a functional node with constant uptime and providing a sufficient amount of $KNOW as stake. In exchange for this service, validators receive block rewards and transaction fees.

Want to become a validator? 👉 Checkout the documentation!

Looking for a network to join ? 👉 Checkout the networks!

Supported platforms

The okp4d blockchain currently supports the following builds:

Platform Arch Status
Darwin amd64
Darwin arm64
Linux amd64
Linux arm64
Windows amd64 ️🚫
Not supported

Note: as the blockchain depends on CosmWasm/wasmvm, we only support the targets supported by this project.

Releases

All releases can be found here.

okp4d follows the Semantic Versioning 2.0.0 to determine when and how the version changes, and we also apply the philosophical principles of release early - release often.

Docker image

For a quick start, a docker image is officially available on Docker hub.

docker pull okp4/okp4d:latest

Get the documentation

docker run okp4/okp4d:latest --help

Query a running network

Example:

API_URL=https://api.devnet.okp4.network:443/rpc
WALLET=okp41pmkq300lrngpkeprygfrtag0xpgp9z92c7eskm

docker run okp4/okp4d:latest query bank balances $WALLET --chain-id okp4-devnet-1 --node $API_URL

Create a wallet

docker run -v $(pwd)/home:/home okp4/okp4d:latest keys add my-wallet --keyring-backend test --home /home 

Start a node

Everything you need to start a node and more is explained here: https://docs.okp4.network/docs/nodes/run-node

MONIKER=node-in-my-name
CHAIN_ID=localnet-okp4-1

docker run -v $(pwd)/home:/home okp4/okp4d:latest init $MONIKER --chain-id $CHAIN_ID --home /home 

This will create a home folder, you can then update the config/genesis.json with one of this ones : https://github.com/okp4/okp4d/tree/main/chains/

Join a running network

Set persistent_peers in config/config.toml file.

Then start the node

docker run -v $(pwd)/home:/home okp4/okp4d:latest start --home /home

Developing & contributing

okp4d is written in Go and built using Cosmos SDK. A number of smart contracts are also deployed on the OKP4 blockchain and hosted in the okp4/contracts project.

Prerequisites

  • install Go 1.21+ following instructions from the official Go documentation;
  • use gofumpt as formatter. You can integrate it in your favorite IDE following these instructions or invoke the makefile make format-go;
  • verify that Docker is properly installed and if not, follow the instructions for your environment;
  • verify that make is properly installed if you intend to use the provided Makefile.

Makefile

The project comes with a convenient Makefile that helps you to build, install, lint and test the project.

$ make <target>

Targets:
  Lint:
    lint                Lint all available linters
    lint-go             Lint go source code
    lint-proto          Lint proto files
  Format:
    format              Run all available formatters
    format-go           Format go files
    format-proto        Format proto files
  Build:
    build               Build all available artefacts (executable, docker image, etc.)
    build-go            Build node executable for the current environment (default build)
    build-go-all        Build node executables for all available environments
  Install:
    install             Install node executable
  Test:
    test                Pass all the tests
    test-go             Pass the test for the go source code
  Chain:
    chain-init          Initialize the blockchain with default settings.
    chain-start         Start the blockchain with existing configuration (see chain-init)
    chain-stop          Stop the blockchain
    chain-upgrade       Test the chain upgrade from the given FROM_VERSION to the given TO_VERSION
  Clean:
    clean               Remove all the files from the target folder
  Proto:
    proto               Generate all resources for proto files (go, doc, etc.)
    proto-format        Format Protobuf files
    proto-build         Build all Protobuf files
    proto-gen           Generate all the code from the Protobuf files
  Documentation:
    doc                 Generate all the documentation
    doc-proto           Generate the documentation from the Protobuf files
    doc-command         Generate markdown documentation for the command
  Mock:
    mock                Generate all the mocks (for tests)
  Release:
    release-assets      Generate release assets
  Help:
    help                Show this help.

This Makefile depends on docker. To install it, please follow the instructions:
- for macOS: https://docs.docker.com/docker-for-mac/install/
- for Windows: https://docs.docker.com/docker-for-windows/install/
- for Linux: https://docs.docker.com/engine/install/

Build

To build the okp4d node, invoke the goal build of the Makefile:

make build

The binary will be generated under the folder target/dist.

Bug reports & feature requests

If you notice anything not behaving how you expected, if you would like to make a suggestion or would like to request a new feature, please open a new issue. We appreciate any help you're willing to give!

Don't hesitate to ask if you are having trouble setting up your project repository, creating your first branch or configuring your development environment. Mentors and maintainers are here to help!

Community

The OKP4 Discord Server is our primary chat channel for the open-source community, software developers and node operators.

Please reach out to us and say hi 👋, we're happy to help there.

You want to get involved? 😍

So you want to contribute? Great! ❤️ We appreciate any help you're willing to give. Don't hesitate to open issues and/or submit pull requests.

We believe that collaboration is key to the success of the OKP4 project. Join our Community discussions on the Community Repository to:

  • Engage in conversations with peers and experts.
  • Share your insights and experiences with OKP4.
  • Learn from others and expand your knowledge of the protocol.

The Community Repository serves as a hub for discussions, questions, and knowledge-sharing related to OKP4. We encourage you to actively participate and contribute to the growth of our community.

Please check out OKP4 health files:

OKP4 – Open Knowledge Protocol For's Projects

.github icon .github

OKP4 GitHub Organization-wide files

actions icon actions

🏭 Repository for sharing our Github CI/CD workflows

awesome icon awesome

🕶 List of public resources, documents, and tools for OKP4.

brand-kit icon brand-kit

🎨 OKP4 Brand Kit: Unleash creative branding with all necessary elements in one place!

contracts icon contracts

📜 Smart contracts for the OKP4 network built on CosmWasm.

cosmos-rust icon cosmos-rust

The home of all shared Rust resources for the Cosmos ecosystem.

cosmos-sdk icon cosmos-sdk

:chains: A Framework for Building High Value Public Blockchains :sparkles:

cosmos-tools icon cosmos-tools

💰 Tool to generate cliff vesting configuration for cosmos chains

data-selector icon data-selector

Select (or filter) data of different types and in multiple dimensions.

discord-bot icon discord-bot

🤖 Discord bot used @okp4 to bridge the Dataverse!

docker-images icon docker-images

🐳 Repository for Docker configurations and images we use @okp4.network

docs icon docs

📜 OKP4 documentation portal (built with Docusaurus).

easysetup icon easysetup

Contains resources related to OKP4 environment and tutorials

faucet-web icon faucet-web

🚰 Token faucet web app for the ØKP4 Testnets.

github-exporter icon github-exporter

Prometheus GitHub exporter with a focus on Pull Request/Issue/Milestone metrics

go-bitsong icon go-bitsong

:rocket: Official BitSong Blockchain Implementation in Go

hackwasm icon hackwasm

💻🇩🇪2️⃣0️⃣2️⃣3️⃣ Contains resources related to OKP4 participation in HackWasm Berlin 2023

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.