scrtlabs / Grants

Repository for grant proposal submissions
41 stars 22 forks source link

SecretPY: python library of secret-js #6

Open paul-HDD opened 3 years ago

paul-HDD commented 3 years ago

Project Description

A Python version of SecretJS - a Python interface to interact with the Secret Network API server. This has been raised with the help wanted tag in the Secret Network github repo. This project involves contributing to an open-source library and providing continuing maintenance, tests, publishing to PyPI and writing documentation. The project will start from https://github.com/terra-project/terra-sdk-python,

Detailed Project Description

Re-implement the SecretJS functions in Python for the REST and Cosmwasm clients and provide documentation and ongoing maintenance for the first year of the library. Additionally we plan on supporting Stargate upgrade if it drops within the 1 year timeframe. Documentation will be generated with sphinx and maintenance will involve bug fixes and potential high value integrations like IBC. The starting point: https://github.com/terra-project/terra-sdk-python contains most of the basic REST end points (bank, staking …), the project will fork that base code and adapt to secret, then extend the transactions and smart contract logic adding encrypt/decrypt steps | curve25519 equivalent in python, and signingcosmwasmclient.

Problem / Solution

Problem: no Python library Solution: Python library

Value capture for Secret Network Ecosystem

Having a Python interface will make any data workflow easier and will attract a wider range of developers. The current workaround is to use a combination of REST API requests and secretcli + secretJS subprocesses in Python. This is hard to maintain, has poor error handling, and leads to convoluted workflows.

Team Members

The project will be open source and we welcome any contributors to the repo. The initial team members are 3 validators from the network: CowLevel and EnigMarines Capital (Paul & Stephane)

Development Roadmap

We plan on having a working product in 8 weeks, all 3 of us will be contributing to it part time.

Milestones

  1. General structure of the open source repo, assess reusability of the https://github.com/terra-project/terra-sdk-python rest client modules.
  2. REST api requests finalize
  3. Smart contract query functionality (encrypt/decrypt steps | curve25519 equivalent in python)
  4. Cosmwasmclient support
  5. Signingcosmwasmclient support
  6. Documentation
  7. Maintenance and streamline further development for a year - including Stargate upgrade

Grant request

The funding we are requesting is 12,000 SCRT (~39k$ on SCRT 1 week average) with two disbursements, one payment of 4,500 SCRT at the beginning of the grant, a second payment of 7,500 SCRT after the library is completed and shipped (~8 weeks) upon which we will provide maintenance for at least the following year.

FishmanL commented 3 years ago

if y'all want an extra pair of eyes and unit testing expertise, lmk

cankisagun commented 3 years ago

This proposal is approved! 3K SCRT from the second payment will be staked for 1 year while the team provides maintenance and support