https://github.com/ChecksFinance/soul-moment
An attempt to provide an implementation of SBT in Cairo lang.
https://github.com/ChecksFinance/soul-moment
cairo python sbt solidity starknet
Last synced: over 1 year ago
JSON representation
An attempt to provide an implementation of SBT in Cairo lang.
- Host: GitHub
- URL: https://github.com/ChecksFinance/soul-moment
- Owner: ChecksFinance
- License: mit
- Created: 2022-06-05T08:55:55.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-11T15:55:08.000Z (about 4 years ago)
- Last Synced: 2024-09-18T04:18:08.721Z (almost 2 years ago)
- Topics: cairo, python, sbt, solidity, starknet
- Language: Cairo
- Homepage:
- Size: 21.5 KB
- Stars: 37
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Soul Moment
An attempt to provide an implementation of SBT(Soul-bound token) in Cairo lang.
Brought to you by @ChecksFinance.
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
```bash
pip install git+https://github.com/ChecksFinance/soul-moment.git
```
Then
```python
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
```bash
python -m venv env
source env/bin/activate
```
#### 📦 Install the requirements
```bash
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
```bash
nile compile --directory src
nile compile src/soulmoment/account/SoulAccount.cairo --account_contract
```
### 🌡️ Test
```bash
# Run all tests
pytest tests
```
## 📄 License
**soul-moment** is released under the [MIT](LICENSE).