Skip to content

marscoin/marskit

 
 

Repository files navigation

bitkit

Bitkit


⚠️ Beta software may put your money at risk.

⚠️ We recommend using only small amounts.

⚠️ Don’t use the same seed on multiple devices.

⬇ Android - Download latest APK

⬇ iPhone - Download latest TestFlight app


Overview

Bitkit enables users to reclaim their digital life.

Bitkit puts users in control of their money and payments, social profile, contacts, and payment preferences; allows users to authenticate to servers with just a tap; and allows users to stream data from public feeds and web accounts, all within one application. What Bitcoin has done for money and payments, Bitkit also extends to other areas of digital life.

Bitkit is a mobile application available on Android and iOS, and implemented using React-Native.

The problem

Society, the economy, and the Web have been overcome by oppressive central controls, resulting in censorship, privacy breaches, and monopoly behaviors that stifle the marketplace of goods and ideas. Users need P2P tools that set them free.

Bitkit's solution

Bitkit offers a Bitcoin wallet that supports both on-chain and lightning transactions. The application runs a custom, non-routing Lightning node created with the Lightning Development Kit on the user's mobile phone. It requires a connection to an external server running a Bitcoin full node and an Electrum server.

We automatically on-board users to Lightning through the integration of our lightning service provider (LSP) Blocktank. Developers can also create their own LSP using Blocktank. In the future, we will support users to connect to their own Lightning and Bitcoin nodes, select different types of LSPs, couple hardware wallets, and manage their own Lightning channels.

Users can back up all their on-chain Bitcoin data with a standard BIP-39 seed. Lightning channel data should automatically be stored on a backup server. The data needs to be encrypted on the client-side before it is sent to a server to ensure privacy. You can view our code here.

The other main features Bitkit supports are the creation of social profiles; the importing and managing of contacts; dynamic payment profiles; key-based account logins; and the display of public data feeds and private account data through in-application widgets. You can experiment with these features in our playground. We currently support three public data widgets: a bitcoin price feed, a bitcoin news feed, a bitcoin block data feed.

All these additional features are powered by Slashtags: an open-source protocol for creating secure and scalable peer-to-peer applications. You can view our JavaScript-based software development kit which has been used for the Bitkit wallet here.

The Slashtags protocol allows for the creation of cryptographic keypairs, known as "slashtags", derived from the same BIP-39 seed as the user's Bitcoin wallet. Typically these slashtags are associated with networked “drives” known as hyperdrives, which can be discovered, read, and seeded by peers on a network. The group of peers that stores some or all of the drive’s data is known as its swarm.

While much of the power of Slashtags comes via these hyperdrives, the keypairs that can be generated with Slashtags also can have important utility on their own. Bi-lateral, peer to peer authentication between a user and a server can, for example, be realized just on the basis of keypairs.

All Slashtags data is exchanged within a Kademlia-based distributed hash table system.

You can read more about Slashtags on our website and on our SDK's Github page. Slashtags predominantly builds on the lower-level functionality of the Hypercore stack. You can learn more about the Hypercore stack here as well as from the two main Github projects here and here.

Slashtags user data should be automatically replicated via a seeding server. In this way, user data is always available. In addition, it allows the user to restore all their Slashtags data from just their BIP-39 seed.

Support

If you are experiencing any problems with Bitkit, please open an issue and use the template provided, or reach out to us on telegram.

Installation

Download or Build it from source.

Development

See Development documentation.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 93.8%
  • JavaScript 5.1%
  • Java 0.6%
  • Shell 0.2%
  • Ruby 0.1%
  • Objective-C 0.1%
  • Objective-C++ 0.1%