Skip to main content

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

Metadata

Release files for paideia-contracts 1.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paideia-contracts 1.1.4
File Size Uploaded
paideia_contracts-1.1.4.tar.gz 52.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paideia-contracts 1.1.4
File Interpreter ABI Platform
paideia_contracts-1.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 120.5 kB

Release files / paideia_contracts-1.1.4.tar.gz

Download URL paideia_contracts-1.1.4.tar.gz
Size 52.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ac6c11af8fb9cef376dead5f9c6eb1c19b29801d5b420c4cf7e3f7a8bf6cec46
BLAKE2b-256 checksum
How to use checksums
b2ebb422dbb4991c7a5fa39431ab1809d4ff6a95a55c29385beec30f4514dbe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.12

Release files / paideia_contracts-1.1.4-py3-none-any.whl

Download URL paideia_contracts-1.1.4-py3-none-any.whl
Size 68.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8786fcdd97b270606b95a6b33fada30235d5ac2f6830b356de50609feba8703f
BLAKE2b-256 checksum
How to use checksums
6412cb7c0cb1e14b66ea4acbda5014c0eb0f53cd51eadfabe0d25a4e54aec559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.1.4 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page