Code Monkey home page Code Monkey logo

chaincase-ios-beta's Introduction

Chaincase iOS Beta

Thank you to all Chaincase iOS Beta testers. While the iOS Beta is over, the pursuit of Bitcoin privacy lives on.


Chaincase Logomark

Chaincase

The only private bitcoin wallet on iOS

๐Ÿ“ฒ๏ธ Beta Available on TestFlight

๐Ÿฆ๏ธ Follow us on Twitter

๐Ÿ’ฌ Say hi on Telegram

Preserve your Privacy

๐Ÿ”€ Keep your blockchain privacy with CoinJoin

  • Full coin selection & label support

๐Ÿง… Keep your data private with Tor by default

๐Ÿ›ฐ Sync privately with BIP 158

Chaincase is experimental beta software. Use at your own risk. Your feedback is greatly appreciated ๐Ÿ—ฝ

How does it work?

โ–ถ๏ธ Watch the video

Chaincase CoinJoin Tutorial Video "My Privacy Has Been Preserved!"

Building for iOS

don't forget to pull (or build) the Tor binary before you build:

git lfs pull

And install a provisioning profile to make use of the entitlements: https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/device-provisioning/

chaincase-ios-beta's People

Contributors

0xbeefcaf3 avatar dangould avatar dependabot[bot] avatar kukks 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

Watchers

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

chaincase-ios-beta's Issues

$1.88 lock wallet with pin / password / biometrics

e.g Authenticate with password post wallet creation to solve the same problem as #56 where people lose money after creation by funding a wallet they don't have the password for.

This could also be solved by using the operating system / device encryption as in Green

affected 5
importance 3
difficulty 8

Normalize Formatting in all files

program files (.cs) should be tabs
.xaml\css\markup should be 2 spaces

change .gitattributes and change all current files to conform

MainNet CoinJoin

  • Understand CcjRoundConfig and document
    • ConfirmationReductionRate reduces the fee for unconfirmed CJ. don't want too many unconfirms chained togheter
    • MaximumMixingLevelCount: n sets max mixable output = denomination * 2^n
  • Enable Queue
  • Enable Dequeue
  • Test statuses
  • Testnet CoinJoin with 2 Peers
  • Mainnet coinjoin with WasabiWallet?

Update WalletWasabi lib

4500 Commits -> 7500 commits

ignore HWI / what I already ignored but didn't .gitignore

A process for doing this each version of WasabiWallet should also be established

Bind conforming to ReactiveUI style rather than Xamarin.Forms's

This is what we want: https://reactiveui.net/docs/handbook/data-binding/xamarin-forms

Xamarin.Forms uses {Binding <data>}. Right now our views bind inconsitently.

Within lists with templates, we probably need to keep using the curly brace binding.

For example, PassphraseView uses both types, and should ONLY use the ReactiveUI type. That should be a good place to start.

Bindings happen in the codebehind .xaml.cs file and are bound to an x:Name="" in the xaml view.

Handle Notification subsciption in Chaincase namespace

v1.1.4 Global.cs uses Coins_CollecionChanged and v1.1.10 uses TransactionProcessor_WalletRelevantTransactionProcessed and ChaumianClient_OnDequeued to set up notifications within Global. Those should be handled within the user interface project because they rely on WalletWasabi.Gui.Helpers in WalletWasabi source

Run all Chaincase.iOS networking through Tor.Framework

  • define objective-c native library c# api definition
  • confirm contact with the binding by some interaction from c# to objective-c
  • establish tor connection from iOS
  • comprehensively test the bindings (i.e. run the TorController tests in C# w/ bindings)
  • Make a request from Tor from Chaincase.iOS
  • Integrate TorProcessManager & WasabiSynchroniser with Tor.framework
    !Important! Use latest master version of TorProcessManager from WasabiWallet
  • Run sync & send in emulator
  • Run in iOS hardware (iphone, ipad)
  • Determine minimum iOS version we can target safely

$38 dark mode

night mode

affected: 8
importance: 7
difficulty: 2

$14.3 Show spinner when connecting to CoinJoin

in "CoinJoin" page

In general, conveying status would create a feeling of security and less confusion about what to do next (hopefully none)

affected 10 (even me)
importance 10 (key feature)
difficulty 7 (gotta think about both what to show and how to show it)

Improve Boot Experience: Speed up

Right now the UI doesn't show up until the wallet loads on the back end. This can take up to 30 seconds. This is because it has been hacked together and isn't making proper use of async calls.

Get the time before a User sees something <5s

Bonus: improve boot for testing the UI with a dummy wallet service, or something that could replace launching tor, syncing with the network ็ญ‰็ญ‰

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.