DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • Comparing Cloud Hosting vs. Self Hosting
  • Design Patterns for Microservices: Ambassador, Anti-Corruption Layer, and Backends for Frontends
  • RBAC With API Gateway and Open Policy Agent (OPA)
  • File Upload Security and Malware Protection

Trending

  • Comparing Cloud Hosting vs. Self Hosting
  • Design Patterns for Microservices: Ambassador, Anti-Corruption Layer, and Backends for Frontends
  • RBAC With API Gateway and Open Policy Agent (OPA)
  • File Upload Security and Malware Protection
  1. DZone
  2. Software Design and Architecture
  3. Security
  4. Useful Programming Libraries to Create Your Own Cryptocurrency Wallet

Useful Programming Libraries to Create Your Own Cryptocurrency Wallet

Need help selecting a library for your cryptocurrency wallet?

Jonathan Greenwood user avatar by
Jonathan Greenwood
·
Apr. 11, 19 · Presentation
Like (2)
Save
Tweet
Share
6.57K Views

Join the DZone community and get the full member experience.

Join For Free

Since 2009, and especially over the past few years, cryptocurrency development has become a skill in high demand. Whether you are looking to create a new currency or contribute to an existing project, creating a new user-friendly wallet is a necessary part of the process. This includes creating a front-end and a back-end to the client.

For inspiration, you should take a look at the source code of some of the top cryptocurrency wallets. If you wish to compete with what’s on the market, features like offline cold storage, paper wallet generation, or asset management would be well received.

BitcoinLib (C#)

Although C# and the .NET framework isn’t the first thing that comes to mind with cryptocurrency development, it is actually quite easy using BitcoinLib. It is compatible with all RPC API’s for Bitcoin Core, Bitcoin, altcoins, and possibly your own cryptocurrency project.

If you would like to deploy binaries for Linux or BSD, it is also fully compatible with Mono. The source code is also buildable in windows via the Dotnet CLI command.

Pycoin (Python)

Even using Python is quite easy to create a wallet application. With Pycoin, you will be able to interact with keys, transactions, and other Bitcoin services.

Signing EDCSA keys is also possible with Pycoin, allowing your software to create or sign signatures. You may also generate key pairs, making it possible to have a fully functioning wallet.

Awesome CryptoCoinJs (JavaScript)

If you have a background in web development, you may also transfer over your skills into making wallets. CryptoCoinJs is a library for JavaScript and Node.js, giving access you access to some amazing front- and back-end features.

The library is compatible with various BiPs (from 21 to 70), blockchain explorer APIs, running a full node, Bitcoin’s RPC, and the Bitcoin P2P protocol. It also has wallet features like multi-signature support and colored coin support.

BitcoinJ (Java)

If you wanted to create your own wallet in pure Java, BitcoinJ is the library you’re looking for. It is designed to make transactions without even needing the original Bitcoin Core client locally installed. It has everything a wallet needs, including multi-signing, coin control, and encryption.

The most notable feature is its lightweight simplified payment verification mode, which only needs to partially download the blockchain in order to verify payments. This is useful for programming apps for phones or embedded devices.

Conclusion

As you can see, developing a wallet may easily be done in multiple languages for those that don’t want to stay away from C++. Be sure to keep up with updates from Bitcoin Core or the altcoin that you are developing to avoid bugs or exploits.

Cryptocurrency Library

Published at DZone with permission of Jonathan Greenwood. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Comparing Cloud Hosting vs. Self Hosting
  • Design Patterns for Microservices: Ambassador, Anti-Corruption Layer, and Backends for Frontends
  • RBAC With API Gateway and Open Policy Agent (OPA)
  • File Upload Security and Malware Protection

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: