Coder Social home page Coder Social logo

communex's Introduction

CommuneX

License: MIT Discord Chat PyPI version

Why CommuneX

CommuneX serves as an alternative library/SDK to the original Commune Ai codebase, offering a streamlined and user-friendly experience. It is designed for simplicity and scalable development. To learn more visit docs

Installation with pip

Requirements: Python 3.10+

Install the communex Python package directly with pip:

pip install communex

Or add it to your Poetry project with:

poetry add communex

Installation with Nix

To install communex the communex cli with Nix

nix profile install .

Features

  • Commands
    • Key management
    • Transfering and staking tokens
    • Module management
    • Client to interact with served modules
    • Module class and server

Planned

  • Module API extraction and documentation generator

CLI Usage

The CLI commands are structured as follows:

comx [OPTIONS] COMMAND [ARGS]

There are six top-level subcommands:

  • balance: transfer, stake, unstake and showing balance operations
  • key: creating, saving (AKA regenerating), listing and showing balance operations
  • module: info, list, register, serve, update
  • network: block, parameters, proposals / proposing, voting operations
  • subnet: info, list, update
  • misc: apr, circulating supply
comx subcommand [OPTIONS] COMMAND [ARGS]...

Examples

Retrieving Balance

# Show staked, free and total balance.
comx balance show 5FgfC2DY4yreEWEughz46RZYQ8oBhHVqD9fVq6gV89E6z4Ea 

Creating a Key

comx key create key_name

Retrieving Key Info

comx key show key_name

# Add the `--show-private` flag to show sentitive fields like private key.
comx key show key_name --show-private

Listing Keys

# Lists the names and addresses of keys stored on disk.
comx key list 

List Keys With Balances

# Lists keys stored on disk with their balance (free, staked and total).
comx key balances

Retrieving Module Information

# Note that the module has to be registered on the network.
comx module info vali::calc [--balance] 

Retrieving Global Parameters

comx network params

Retrieving Subnet Parameters

comx subnet list

Retrieving Circulating Supply

# Gets all tokens then were ever emitted minus burned tokens.
comx misc circulating-supply 

Completions

You can enable completions for your shell by running:

# On bash
comx --install-completion bash
# On zsh
comx --install-completion zsh

Contributing

Bug reports and pull requests and other forms of contribution are welcomed and encouraged! :)

To report a bug or request a feature, please open an issue on GitHub.

If you have any questions, feel free to ask on the CommuneX Discord channel or post on our GitHub discussions page.

To contribute to the codebase, using Poetry you can install the development dependencies with:

poetry install --with dev

it can require some enviroment-specific binaries to be installed

Commune compatibility

Yes, communex is compatible with the commune library/CLI. However, there are important considerations to note. communex verifies the integrity of your keys, which means that mixing certain types of keys is not permissible. Specifically, if you possess node keys or other similar types that are not designed to receive tokens, you to relocate them outside of the key directory.


communex's People

Contributors

psicothepato avatar steinerkelvin avatar supremesource avatar gabrielcipriano avatar johnna-viguerie 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.