Skip to main content

ErgoScript and Python wrappers for Paideia

Project description

paideia-contracts

Paideia ErgoScript smart-contracts.

Details

This repository contains the ErgoScript smart-contracts used within the Paideia project, along with their respective EIP-6 protocol specifications.

Python Library

This repository can also be installed as a python library and used within your own project:

pip install paideia-contracts

Overall Architecture

Paideia Architecture

Paideia consists of a number of interacting modules.

Paideia

The origin of all DAO's that use Paideia lies in the Paideia module, ensuring the DAO's that are created are verified and living up to the requirements. DAO's created through the Paideia module will get official tokens during the creation process to proof Paideia was used to create the DAO

DAO

Once the DAO is created the DAO module is the core of following modules. The treasury is handled here and any underlying modules need to be created in accordance with this module to be a verified part of the DAO. For example a configuration box to be used in smart contracts (either standard Paideia contracts or contracts made by the DAO itself) can proof its validity with a token distributed by the DAO module.

Profit sharing

If the DAO uses profit sharing this will hook into the staking module so profits are automatically distributed to stakers.

Staking

The staking system will be similar to the existing staking setup, enhanced with extra rewards from the profit sharing module and will be key to the voting setup

Proposals

Proposals can be initiated by DAO members and have 1 or more actions related to them that will be performed if the proposal passes. A proposal can have different types of voting and will depend on settings stored in a config box. For example a config could be the % quorum needed for a proposal to pass. The total amount of possible votes is determined by using the Staking module (total amount staked).

Voting

A DAO member can participate in voting by creating a voting box with their stake key. The stake key will be stored in the vote box and instead the member will receive a vote key. This vote key can be used to vote on active proposals. The stake box belonging to the stake key will be used as a data input to determine voting power. When a vote is cast the proposal is updated accordingly and the vote box stores the proposal ID voted on to prevent double voting. By storing these ID's in a collection it will be possible to vote on multiple overlapping proposals. The stake key can only be retrieved if the vote box is not involved in any active proposals (withdrawing a vote could potentially be a DAO config).

Action

An action is something that happens if a proposal passes. This could something as simple as sending an amount of erg to an address, changing a config or updating a smart contract to a new version.

Config

One or more config boxes can be in use by a DAO and can act as oracles for the smart contracts in use by the DAO. Standard Paideia related config will always be present, but if needed the DAO can create a new config box with an action.

Contracts

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paideia_contracts-1.1.4.tar.gz (52.2 kB view details)

Uploaded Source

Built Distribution

paideia_contracts-1.1.4-py3-none-any.whl (68.3 kB view details)

Uploaded Python 3

File details

Details for the file paideia_contracts-1.1.4.tar.gz.

File metadata

  • Download URL: paideia_contracts-1.1.4.tar.gz
  • Upload date:
  • Size: 52.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.12

File hashes

Hashes for paideia_contracts-1.1.4.tar.gz
Algorithm Hash digest
SHA256 ac6c11af8fb9cef376dead5f9c6eb1c19b29801d5b420c4cf7e3f7a8bf6cec46
MD5 8e0b1080126b986e289e669edaa2130c
BLAKE2b-256 b2ebb422dbb4991c7a5fa39431ab1809d4ff6a95a55c29385beec30f4514dbe7

See more details on using hashes here.

File details

Details for the file paideia_contracts-1.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for paideia_contracts-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8786fcdd97b270606b95a6b33fada30235d5ac2f6830b356de50609feba8703f
MD5 b6c63fc7361363345a71beb7eac736e6
BLAKE2b-256 6412cb7c0cb1e14b66ea4acbda5014c0eb0f53cd51eadfabe0d25a4e54aec559

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page