python-bitshares
python-bitshares copied to clipboard
Implement Blind Transfers
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'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
GrapheneObjects must be read from wire bytestream back into memory. graphene_pr65 - [ ] Local fee calculator must be added. fee_calc
I've seen great progress here! Looking forward to the Pull Request
Unfortunately, GrapheneObjects where never meant to be read from wire format, However, we can surely patch something together to make this work for your. Please let me know what and how you need it.
regarding the eliptical curve digital signature in pure-python, this might be a good repo to fork:
https://github.com/warner/python-ecdsa
@litepresence, thanks, I'll take a look.
I'm guessing
Nope, not there. https://github.com/xeroc/python-graphenelib/pull/66tweak_add we need for PublicKey is already available in ecdsa/python-ecdsa.
However Pedersen/Rangeproof commitments are pretty unique and I've only seen them implemented in libsecp256k1-zkp, in C.