Skip to content

An attempt to provide an implementation of SBT in Cairo lang.

License

Notifications You must be signed in to change notification settings

ChecksFinance/soul-moment

Repository files navigation

Soul Moment

An attempt to provide an implementation of SBT(Soul-bound token) in Cairo lang.

Brought to you by @ChecksFinance.

mit license

This module is implemented on StarkNet in Cairo language. Using this module requires that you have a basic understanding of the Cairo language and python.

Concepts

One of the most important concepts of SBT is non-transferable and verifiable split property rights. This basic logic is explored in a very simple way by implementing the issuance and verification of SBTs on L2's abstract account contracts.

Use this module in your project

pip install git+https://github.com/ChecksFinance/soul-moment.git

Then

from soulmoment.library import SoulMoment

you can find demo contracts in ./src/account and ./src/soulmoment

Set up the project

Create a Python virtual environment

python -m venv env
source env/bin/activate

📦 Install the requirements

pip install -r requirements.txt

Notice: this project use the latest version of OpenZeppelin contract for Cairo instead of the stable release of it.

⛏️ Compile

nile compile --directory src
nile compile src/soulmoment/account/SoulAccount.cairo --account_contract

🌡️ Test

# Run all tests
pytest tests

📄 License

soul-moment is released under the MIT.