bitshares / bitshares/python-bitshares

Implement Blind Transfers

Open
#77 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
164
PR merge metrics
No merged PRs in 30d

Description

After shedding some tears, I've managed to get blind transfers working. Sadly, the whole affair is not a matter of a simple/single pull-request. (Although if you think otherwise, please take a look [here])

[here]: https://github.com/bitshares/python-bitshares/compare/develop...jhtitor:develop?expand=1

Here's the breakdown:
- [x] PrivateKey class needs a few new crypto methods. [graphene_pr64]
- [x] PublicKey class needs a few new crypto methods (secp256k1 dependency there). [graphene_pr66]
- [ ] Pedersen/Rangeproof commitments must be implemented. I've wrapped libsecp256k1-zkp from bitshares-core to do this. [secp256k1prp] (*Ideally, a pure-python implementation is required*)
- [ ] Storage class must be expanded to keep the receipts/balances.
- [ ] Few `GrapheneObject`s must be read from wire bytestream back into memory. [graphene_pr65]
- [ ] Local fee calculator must be added. [fee_calc]

[graphene_pr64]: https://github.com/xeroc/python-graphenelib/pull/64
[graphene_pr66]: https://github.com/xeroc/python-graphenelib/pull/66
[secp256k1prp]: https://github.com/jhtitor/secp256k1prp-py
[graphene_pr65]: https://github.com/xeroc/python-graphenelib/pull/65
[fee_calc]: https://github.com/bitshares/python-bitshares/pull/91

Contributor guide

Open the contributing guide

Research direction

Start with the unchecked items in the issue breakdown and review the linked secp256k1prp, graphene_pr65, and fee_calc work. The issue names no repository files or tests, so identify the relevant Storage, GrapheneObject, and fee-calculation entry points before proceeding. Done means the remaining checklist items are implemented and blind transfers work end to end.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.