Giter Club home page Giter Club logo

torba's Introduction

Torba Torba Build Status Test Coverage

A new wallet library to help bitcoin based projects build fast, correct and scalable crypto currency wallets in Python.

torba's People

Contributors

binaryflesh avatar brannonking avatar eukreign avatar hackrush01 avatar jackrobison avatar lyoshenka avatar shyba avatar strikerrus avatar tzarebczan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

torba's Issues

Hashing algorithm choice

def aes_encrypt(secret, value):

def aes_decrypt(secret, value):

SHA-256 (and, by extension, double SHA-256) may be less secure than SHA-512 (already provided by the hash library) truncated to 256 bits.

A couple of guys in Austria did an analysis (Tbl 6.6, Sec 3.5, Sec 4.4, Sec 5.4)

David Strauss provides some arguments for SHA-512/256

FIPS SP 800-107 (Sec 4.1, Sec 4.2 Tbl 1)

A security analysis of SHA-512/256 and SHA-512/224

None of this is to say that SHA-256 itself is insecure, just that it may not be the optimal choice, especially when a better solution would be quite easy to drop in (from a very superficial glance, at least).

Consistent code style

As a newer contributor, I have to explore the code to get an idea of what I can work on. I noticed a lot of inconsistency with code style. I am opening this issue because I'm going through and tidying up code while all the moving parts in lbry-sdk get re-worked. There is no pylint config with this package so I am assuming it should resemble the sdk, I think #58 applies in that sense. I'm mainly making docstrings use " instead of ', and set declarations uses (item,) instead of set = item and other trivial PEPs. This is not a major issue but would be nice to have. I am opening this issue with the purpose to create a PR and have the effort be known to maintainers.

manually manage db transactions

Currently we use automatic transaction management where every query is a transaction. We could gain significant performance improvement if we manually managed the transactions. Investigate and implement.

Calculate total proof of work

Calculating the total proof of work is generally a useful metric to return, and necessary to do reorgs trustlessly. The total proof of work is the summation of all the work on the chain , work for each block is defined below:

https://github.com/lbryio/lbrycrd/blob/e90d7f54cede3c1c5bfc3590351054bdc5a99480/src/chain.cpp#L114

Actually electrum doesn't even have this... I'm not even sure how that works without being exploitable.

Acceptance Criteria

Definition of Done

  • Tested against acceptance criteria
  • Tested against the assumptions of the user story
  • The project builds without errors
  • Unit tests are written and passing
  • Tests on devices/browsers listed in the issue have passed
  • QA performed & issues resolved
  • Refactoring completed
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Support Blockchain Reorganization

  • implement support for detecing reorganizations and recovering
    • rewind the headers
    • undo any transactions
  • unit tests for rewinding headers
  • unit tests for dropping transactions that happened on removed blocks
  • integration tests using generate and invalidateblock commands

how do reorgs affect files you have on disk and claims you paid for?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.