How to create a Bitcoin and Ethereum crypto address - Java

Learn to code and create a Bitcoin and Ethereum address using Java open-source libraries. Create your private keys
Rating: 3.5 out of 5 (7 ratings)
1,621 students
How to create Bitcoin addresses using open source libraries - Java
How to create Ethereum addresses using open source libraries - Java
How to create Private and Public Keys
How to encrypt Private Keys using Java
What is Bitcoin?
What is Ethereum?
How to validate Bitcoin and Ethereum addresses


  • Laptop
  • Internet connection is only required to download java and libraries
  • Basic understanding of how to install softwares on computers


This course includes captions, subtitles (English) as well. New FREE course. Please consider adding a review if you think the course is helpful. Thank you.

Learn how to create private keys and addresses offline — without having an internet connection — for Bitcoin and Ethereum cryptocurrencies.

Technical details:

  • Java

  • bitcoinj Java library for Bitcoin addresses

  • ethereumj Java library for Ethereum addresses

  • bouncy castle cryptography library

  • IntelliJ IDEA as development environment

  • Maven

Do you want to create your Bitcoin and Ethereum addresses using Java libraries securely?

I'm sure you do because lately, I was in that situation.

A couple of months ago, I was trying to create my Bitcoin and Ethereum addresses using some of the so-called trusted and well-known cold and software wallets on the market.

Initially, I thought it could be more secure to buy a hard wallet, and I did this. Then after reading the details of the installation of initial setup software on the hard wallet, I immediately decided to return the product to the seller and asked for a refund.

The reason was, most of the time, they want from you to download something on your computer or the tool using the internet.

Moreover, most of those wallets downloaded from the internet cannot guarantee that private keys are not being exposed to hackers, because they generally want from you to connect the internet to download their latest updates/patches.

Most of the time, it is difficult to learn how the Bitcoin or Ethereum addresses are created as well; they don't provide their source codes, and even if they do, it is very complicated.

Because of these reasons, I decided to create my Bitcoin and Ethereum addresses using open-source libraries. There are successful and well-coded industry-standard libraries. So, I learned how to use them to create secure, offline Bitcoin, and Ethereum addresses. And the course is going to explain how to use them in a simplified step by steps.

So, if you attend this course, you are going to learn how to use those open-source libraries and create your BTC (Bitcoin and Ethereum) address offline so that you don’t need to connect anywhere, download anything or use the internet as well. Addresses can be created offline using java programs.

I want to mention that this is the most secure way of creating a Bitcoin or Ethereum address.

I also coded/designed an accompanying online tool to demonstrate that addresses can be created online and promote my course to the prospective students :)

Ok, if you are interested to create your Bitcoin and Ethereum addresses, you can enroll now.

For any reason, if you don't like the course (I am sure you will find it useful), you can cancel it and get your money back.


You will learn how to create Bitcoin and Ethereum addresses by attending this course. Moreover, you don't need an internet connection to create Bitcoin and Ethereum addresses. All addresses will be created by open-source Java libraries and you will be able to run your code on your local computer; you will have a complete control while creating your public and private key pairs — you don't need to trust somebody else's code provided most of the time in cold wallets or downloaded on your mobile phones.

I will teach you how to create different Bitcoin and Ethereum addresses and you will have the source code for the applications written in this course; we will also send small amounts of cryptocurrencies to test the public addresses created by the source code provided in this course.

If you attend this course and follow the steps, you don't need to buy a cold-wallet or download a wallet software on your mobile phone to create public and private key pairs. This provides additional security for Bitcoin and Ethereum users because when you download software from the internet, most of the time, it is difficult to learn how the Bitcoin or Ethereum addresses are created by those cold wallets or software; most of them don't provide their source codes and even if they do, it is very complicated. But this course is simplified and even beginner users can learn how Bitcoin or Ethereum addresses are created. Furthermore, when we download wallets from the internet, we can't be sure whether if the private keys are stored or not somewhere in remote servers, however, the accompanying software we will write here will also run offline — on your local computer —  so you will see step by step how a Bitcoin or Ethereum address is created, so you will have the complete ownership of randomly created BTC and ETH public and private key pairs.

Moreover, I will teach you how to encrypt and decrypt your private keys with a password, so it will be more secure for you to store private keys. (this part of the course is still under development)

Benefits of attending this cryptocurrency course are listed below:

  1. Complete ownership of your public and private keys for Bitcoin and Ethereum cryptocurrencies.

  2. Complete ownership of the source codes (coded with Java programming language) to create private keys — open-source software.

  3. Understand how the addresses are created step by step (with a simplified language) without depending on external parties such as companies providing software wallets or cold wallets also named as cold storage.

  4. You will be able to encrypt your private keys and store in a safe place without the need to share anywhere which provides you the opportunity to send some cryptocurrency to your offline address and store it for many years in a safe location. (this part of the course is still under development)

  5. You don't need to depend on anyone apart from following this course — which is simplified and based on open source software —  while creating your cold/paper wallets.

  6. Understand Bitcoin and Ethereum, Blockchain and cryptocurrencies.

Who this course is for:

  • People interested in learning how to create addresses and private keys for Bitcoin and Ethereum
  • People interested in having BTC and Ethereum addresses created offline
  • People who don't want to buy cold-wallets instead create their private keys using open source software
  • People interested in learning cryptocurrencies

Course content

4 sections13 lectures1h 30m total length
  • Introduction
  • How is the course organised? Where can you find resources?
  • Prepare your environment to run Java code


Software Engineer, Architect, Blogger and Instructor
Tuna Tore | AWS Solutions Architect
  • 3.8 Instructor Rating
  • 1,530 Reviews
  • 20,374 Students
  • 6 Courses

Tuna Tore is an experienced Software Engineer, Architect and Instructor. He graduated as a Computer Engineer and got his MSc degree in Information Technology. Tuna has more than 10 years of commercial experience using Java and other open source frameworks. Until now, he mainly worked in IT and Financial institutions such as ING Bank and IBM. Currently, he works as an IT Consultant in one of the biggest IT consultancy company in Europe. He is also AWS Solutions Architect Associate, SUN Certified Java Programmer, SUN Certified Web Component Developer, Certified Core Spring Professional, and c-sap Certified Secure Application Programmer.

He has the interest, knowledge and experience in the following areas:

Amazon Web Services (S3, Lambda, SES, SQS, DynamoDB, CloudFront, Route53)

Docker, Cloud-Native applications, Spring Boot and Cloud, Microservices

Core Java Programming

Open Source Frameworks (Spring, Hibernate and JSF )

Java Enterprise Development

Java Architecture

System Integration

Software Development Life-cycle

Java Component&Module Development

Bug Fixing&Refactoring