Skip to content

Pangolin Wallet (formerly Copay) is a secure Bitcoin and other crypto currencies wallet platform for both desktop and mobile devices.Cross-platform, cross-blockchain wallet library.wallet for iOS & Android. Built with React Native

License

Notifications You must be signed in to change notification settings

Neit-Inc/Pangolin-Wallet-Storage-Web-Browser-Multi-Coin-Multi-Crypto-Secure-Gui

Repository files navigation

Pangolin Wallet Extension

An open-source, non-custodial, privacy-focused Pangolin wallet for extension.


 

Spotify

Project Description

The CryptoWallet, an intricately engineered C++ wallet application, emerges as a browser extension of substantial resilience. It bestows upon its users the capability to adroitly administer their digital assets, endowing them with a fortified and user-centric encounter. Within this document, you will discover a comprehensive compendium regarding the project's essence, the procedural nuances associated with its installation, a user-friendly handbook, the array of its distinctive functionalities, and the avenue to actively participate in advancing its evolution.

pangolin

Table of Contents

Project Description

CryptoWallet represents a groundbreaking wallet application meticulously crafted in the C++ programming language. It seamlessly integrates with web browsers, providing users with an array of cutting-edge functionalities:

  • Digital Asset Administration: Effortlessly oversee a multifaceted assortment of digital assets, encompassing cryptocurrencies and beyond.

  • Expeditious Transaction Processing: Encounter swift and secure transactions, assuring that your assets remain readily accessible.

  • Tailored Experience: Personalize your wallet through an assortment of interface themes and customization options, aligning the application precisely with your unique preferences and requirements.

Installation

Getting CryptoWallet up and running on your local environment is a breeze:

  1. Install CryptoWallet:

    • Install the project.
  2. Open Source:

    With the source code in hand, you have the flexibility to explore, modify, and enhance CryptoWallet to meet your specific needs.

  3. Build:

    Build the project with your preferred C++ development environment.

  4. Output Directory:

    You'll find the output files in the following directory:

    ./bin/Debug/

User Guide

When you launch the wallet, you can find more information on how to use it in the following resources:

Features

CryptoWallet boasts an impressive array of features designed to streamline your digital asset management experience. Here's a more comprehensive list:

  • Digital Asset Portfolio: Effortlessly manage and monitor various digital assets, including cryptocurrencies, tokens, and NFTs, all from one intuitive interface.

  • Real-Time Asset Tracking: Stay up-to-date with your portfolio's performance through real-time asset tracking, including price charts, historical data, and market insights.

  • Secure Wallet: Rest easy knowing your assets are protected by state-of-the-art encryption and multi-factor authentication for the utmost security.

  • Swift Transactions: Experience lightning-fast transactions, thanks to our efficient blockchain integration, enabling you to send and receive assets in seconds.

  • Multi-Currency Support: Enjoy the flexibility of managing a diverse range of cryptocurrencies, ensuring your portfolio is diverse and well-balanced.

  • Portfolio Analytics: Gain deeper insights into your asset allocation and performance with comprehensive portfolio analytics and reporting tools.

  • Cross-Platform Compatibility: Access your wallet seamlessly across various browsers and devices, ensuring you're always in control of your assets.

  • Theme Customization: Personalize your wallet's interface with a wide array of themes and customization options, allowing you to tailor it to your unique style.

  • Transaction History: Easily track your transaction history, enabling you to review and reconcile all past transactions effortlessly.

  • Marketplace Integration: Explore and participate in various decentralized marketplaces and exchanges directly from your wallet, making asset trading a breeze.

  • Asset Conversion: Effortlessly convert one digital asset into another within the wallet, saving you time and effort.

  • Multi-Language Support: Access the wallet in your preferred language, breaking down language barriers for global users.

  • Secure Backup and Recovery: Set up secure backup and recovery options to safeguard your wallet and assets against unexpected events.

  • Community-Driven Development: Be part of a thriving developer community, contributing to ongoing improvements and innovations in CryptoWallet.

  • Educational Resources: Access a wealth of educational materials and resources to enhance your understanding of cryptocurrencies and digital asset management.

  • Multi-Currency Support: Seamlessly manage a diverse range of cryptocurrencies, including Bitcoin (BTC), Ethereum (ETH), Bitcoin Cash (BCH), and XRP, all within a single wallet.

  • Multi-Wallet Management: Create and manage multiple wallets for various cryptocurrencies, allowing you to organize your digital assets efficiently.

  • Intuitive Multi-Signature Security: Utilize cutting-edge multi-signature security options for both personal and shared wallets, ensuring enhanced protection for your assets.

  • Group Payments: Simplify group payments and shared expenses with an intuitive spending proposal workflow, making collaborative financial management effortless.

  • Hierarchical Deterministic (HD) Wallets: Implement BIP32 HD address generation and wallet backups for added convenience and security in managing your assets.

  • Device-Based Security: Enjoy the peace of mind that comes with locally stored private keys, ensuring your sensitive information remains secure and off the cloud.

  • Testnet Wallet Support: Explore and experiment with cryptocurrencies risk-free by utilizing testnet wallets for all supported coins.

  • Cross-Platform Accessibility: Access your wallet synchronously across major mobile and desktop platforms, providing a consistent experience regardless of your device.

  • Payment Protocol Support: Easily identify and verify payment requests using the BIP70-BIP73 payment protocol, ensuring secure and trustworthy Bitcoin payments.

  • Currency Pricing Options: Choose from over 150 currency pricing options and customize unit denomination to fit your financial preferences.

  • Mnemonic (BIP39) Backups: Safeguard your wallet with mnemonic support, making it easy to create and recover wallet backups.

  • Paper Wallet Sweep: Enhance security with BIP38 paper wallet sweep support, allowing you to import and manage paper wallets seamlessly.

  • Email Notifications: Stay informed with email notifications for payments, transfers, confirmations, and other essential wallet activities.

  • Customization: Personalize your wallet experience with customizable wallet naming, background colors, and language preferences, tailoring it to your unique style.

Wallet Export Format

Pangoline Wallet employs robust encryption through the Stanford JS Crypto Library to safeguard your backup. To access the private key of your wallet, follow these steps:

  1. Navigate to the settings within your Pangoline Wallet.

  2. Select your wallet from the options available.

  3. Click on "more options."

  4. Choose "wallet information."

  5. Scroll to the bottom of the page and locate the "Extended Private Key" option.

It's vital to exercise caution when handling this information since possessing the extended private key grants the ability to sign any transaction from your wallet.

Additionally, the backup includes a key called publicKeyRing, which stores the extended public keys of the Copayers. The derivation of addresses depends on the value of the derivationStrategy key, which can follow either BIP44 or BIP45 standards. It's noteworthy that wallets created in Copay v1.2 and later versions exclusively utilize BIP44, whereas all previous wallets adhere to BIP45.

Additionally, please be aware that starting from Copay version v1.2, non-multisignature wallets utilize Pay-to-PublicKeyHash (P2PKH) address types, while multisignature wallets continue to employ Pay-to-ScriptHash (P2SH) (as indicated by the addressType key in the backup).

Copay Version Wallet Type Derivation Strategy Address Type
<1.2 All BIP45 P2SH
≥1.2 Non-multisig BIP44 P2PKH
≥1.2 Multisig BIP44 P2SH
≥1.5 Multisig Hardware wallets BIP44 (root m/48’) P2SH

By leveraging a tool such as the Bitcore PlayGround, it becomes possible to generate a plethora of wallet addresses with ease. Here are some helpful tips to streamline the process:

  1. For P2PKH address type wallets, navigate to the 'Address' section within the Bitcore PlayGround.

  2. For P2SH address type wallets, head to the 'Multisig Address' section.

  3. In the case of multisignature addresses, it's imperative to ascertain the required number of signatures (referred to as key 'm' in the export) needed for reassembling the addresses.

It's worth noting a key detail about BIP45: All addresses generated using BWS (Bitcoin Wallet Service) with BIP45 adhere to the 'shared cosigner index,' which is set at 2147483647. Consequently, Copay address indexes exhibit the following structure:

  • Main addresses: m/45'/2147483647/0/x
  • Change addresses: m/45'/2147483647/1/y

As of version 1.5, Copay has transitioned to employing the root m/48' for hardware multisignature wallets. This transition has been closely coordinated with the Ledger and Trezor teams. While the derivation path format remains similar to BIP44, the adoption of this new root signifies that these wallets are no longer discoverable through the conventional method of scanning addresses for funds. For the generation of addresses in multisignature wallets, it becomes essential to possess the extended public keys of the other copayers.

Backers

Join our Open Collective:

Contributing to the Project

If you'd like to contribute to this project, please follow these steps:

  1. Create a new branch for adding a new feature or fixing a bug: git checkout -b new-feature
  2. Make your changes and commit them: git commit -m "Added new feature"
  3. Push your changes to the remote server: git push origin new-feature
  4. Open a pull request.

We welcome your contributions!

License

This project is licensed under the MIT License. You can review the license file for detailed information.