However, node.js and Electron are not exactly lightweight and they add a significant overhead both in filesize and resource usage. If I were using Electron my wallet could be over a 200MB+ download for end users.
This will be my last post before I start posting binary builds on Github along with the full source code. Please note that this program is in Alpha stage development and should not be used with real crypto currency at this time.
In my next post I will include full instructions on using Ganache with my wallet so that you can test out my wallet app without actually interfacing with a live Ethereum network. You can also use the real Ethereum test networks such as Ropsten if you want.
The first build and source commit will be made once my app functions as a basic Ethereum wallet. After that, I will be turning my attention towards integrating Bitcoin and Nano in later releases.
A cryptocurrency wallet is a secure place where individuals can store the private keys that prove their ownership of different crypto holdings. Some even allow investors to send, receive, and spend their crypto. These wallets come in a few main formats.
Software wallets are intangible and accessed via the internet using software or a website. Many crypto exchanges have their own, but there are also freestanding hot wallet vendors. Aside from exchange wallets, mobile wallets and desktop app wallets are common types of software wallets.
Hardware wallets, on the other hand, are tangible devices where your private keys are stored. Most of these devices are small and portable, similar to a flash drive, and can be plugged into a digital device to connect with an interface where you can then access your information and trade crypto. Some even have a built-in interface from which crypto can be traded, completely skipping the part where they need to be plugged into anything at all.
So a Bitcoin investor, for example, would be able to use their Trezor wallet to spend, exchange, and buy coins simply by plugging it into a digital device and accessing the Trezor suite. As an added step of security, they would be able to use the built-in interface on the Trezor device to check that information like the address, amount, and more are all correct before completing a transaction.
There are no fully good open source multi crypto wallets. There are many good closed source or partially open source multi crypto wallets like Guarda, Edge, Atomic and Exodus. I wish there was a wallet that is like Guarda or Atomic/Exodus which supported many crypto, fully open source, and on Android, iOS and desktop. Wallet Scrutiny exposes this issue in the crypto wallet space which has too many closed source wallets.
What would be cool is if someone created a fully open source wallet for Android, iOS and desktop which does not support any coins but has all the features from send, receive, hide balance, multiple wallets, multiple accounts, hide balance, transactions fees, etc. To add a cryptocurrency to the wallet, it is up to the devs of those cryptos to create it to work with the wallet. This way the wallet devs can work on the wallet itself such as UI and features while the cryptocurrency devs could add their coins to this wallet and keep it maintained. In a sense the cryptocurrencies in the wallets are plugins and are developed by the cryptocurrency devs and not the wallet devs kinda like Kodi were the Kodi devs develop Kodi while the addon are maintained by others.
I want to create my own cryptocurrency wallet. I know about private and public key concept which is used in the wallet but I could not understand how my wallet verified other public address? How my wallet verified other users? How coinomi manage their wallet to store all kind of currency? Can anyone explain the full logic of wallet?
I think what you are looking for is hierarchical deterministic wallets (or "HD Wallets"). These wallets were proposed as part of bip32. Further along with bip39, bip43 and bip44, you can create a full fledged HD wallet.
Bip32: This proposes the specifications of HD wallets. It contains all the technical details like how a HD wallet should be implemented. It describes how a single seed of chosen length (between 128 and 512 bits; 256 bits is advised) can be used to generate number of keys for various accounts of different cryptocurrencies in unique as well as deterministic ways.
Bip43: The BIP32 specification offers implementors too many degrees of freedom. Multiple implementations may claim they are BIP32 compatible, but in fact they can produce wallets with different logical structures making them non-interoperable. This situation unfortunately renders "BIP32 compatible" statement rather useless. Hence, , Bip43 was introduced.
In layman terms, they are very much like your physical wallets which helps in storing money. However, since cryptocurrencies are more like digital currencies, wallets required to store (read manage) them are also kind of digital.Now, there are 2 kinds of wallets.
As mentioned earlier, crypto wallets do not actually store the cryptocurrencies. Like banks, the ownership details of the cryptocurrencies lie on the ledger which in case of cryptos is the Blockchain. Now, these digital wallets are only used to manage them. Further, this management means it gives you an exclusive right to spend your own cryptocurrencies. Now, cryptos are affiliated to some accounts like we have our digital money in our bank accounts. In order to manage that digital money, we have been provided various facilities like internet banking, credit cards etc using which we can spend that money. Similarly, for spending cryptos, we need wallets.
So, Wallets are nothing more than a wrapper around some digital keys. They are more like your internet banking credentials or a 4-digit pin of your credit card. To see, how an ethereum wallet looks like, checkout this article.
Now, after bitcoin boom, there came a flood of cryptos. Now, to manage each kind of cryptos, a different account was required which had their individual keys. Further, within same crypto domain, one owns hundreds of accounts with their individual keys. So to manage various keys from various domains using their individual wallets was becoming pretty difficult. Further, once you create a wallet with some vendor, it was impossible to migrate it some other vendor as each vendor implements the wallet structure as per his whims and fancies. Hence, wallet portability was becoming a huge issue. To solve all these problems, HD wallets were introduced.
Edit: For implemetation, you can use libraries. For e.g. if you are using JavaScript, you can use ethereumjs-wallet. Here is a constructor function to create a v3 wallet object. For creating a HD wallet, you can use this.
Now, the question comes how to use it. Well for that you can refer any standard Ethereum wallet. Better place to start could be exploring the code of metamask-extension which is completely reliant on ethereumjs-wallet library.
With the increase in the number of coins, the need for good wallets to store the crypto coins safely is also at an all-time high. Most investors prefer to store their crypto assets in one place to make life easier, and that is why many muti-cryptocurrency wallets are being developed.
Trust wallet is the best multi-cryptocurrency wallet in 2023, that supports multiple blockchains. At the time of writing, they support Bitcoin, Ethereum, Binance Smart Chain, LUNA, Polkadot blockchain.
Apart from all these features, you can create multiple wallets to manage different portfolio. The app is being constantly updated with additional features, and it is one of the most popular wallets on this planet as of 2023. The wallet is available for iOS and Android.
SafePal is the fastest-growing mobile wallet app that anyone would like to use as their multi-crypto wallet. You can have multiple portfolio wallets, one for investing, the other for trading, and so on.
SafePal tightly integrates with Binance DEX, and lets you trade cryptocurrencies or swap cryptocurrencies without needing any KYC. This feature alone is making SafePal an ideal choice for a crypto mobile app.
The interface is refreshing, and once you get the hang of the SafePal app, you may not use any other crypto wallet ever. The team is proactive in development, and they are constantly adding new features.
At present, it supports more than 100+ cryptocurrencies including Bitcoin, Ethereum, Litecoin, Dogecoin, Dash, Atom, etc and there is no sign of them stopping. Support for more cryptocurrencies on Exodus is planned for the future.
However, remember it is a desktop-only wallet and you require no registration or KYC for using this wallet. Of course, you certainly need to take a backup of your seed key that Exodus provides you while setting-up Exodus for the first time.
Update: Exodus now supports close to 100 cryptocurrencies! They also have multiple exchange partners (not just ShapeShift), which means we can offer more exchangeable assets. Sourcing liquidity from various partners has made exchanging in Exodus faster and more reliable. Exodus is now available on mobile as well.
Talking about Cross-chain wallet, how could we not include XDEFi. This was a new entrant in 2022 and has become popular as a Metamask alternative, and for being another popular browser addon wallet. Unlike Metamask, it supports many popular blockchains like BTC, ETH, LTC, BNB, Thorchain, and more.
The one thing that most of you would like about the XDEFI wallet is, it offers cross-chain swap without the need for KYC. This wallet has a great chance of becoming the top 3 multi-cryptocurrency wallet in the time to come, but for now, if you are looking for a browser-based solution, this is the wallet that you should be using.
Coinomi is a multi-currency HD wallet that provides you with a 12-word backup seed key which is to be written down and kept safe. In case you damage or lose your device, this backup seed key will enable you to recover your cryptocurrencies.
760c119bf3