How to generate Bitcoin
and Ethereum addresses
Tuna Tore - founder at https://mycrypto.tools
1
INTRODUCTION
Lecture 1: Introduction
This lecture briefly explains the details of this cryptocurrency course. I also
introduce myself.
WELCOME!
TUNA TORE
Software Engineer
Founder at https://mycrypto.tools
https://www.linkedin.com/in/tunatore/
COURSE AIMS
Here’s what you’ll learn at the end of this course:
1. How to create private keys and addresses offline — without having an internet connection — for Bitcoin
and Ethereum cryptocurrencies.
2. Learn how to send Bitcoin and Ethereum to the addresses created in this course.
3. Complete ownership of your public and private keys for Bitcoin and Ethereum cryptocurrencies.
4. Complete ownership of the source codes to create private keys — open-source software.
5. 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.
6. Understand Bitcoin and Ethereum.
Lecture 2: How is the course organised?
Where can you find resources?
This lecture explains how the course is organized. You can find the resources — such
as the source codes of the applications, slides and course documents — within this
lecture.
01
Lecture1: Introduction
Introduction Lecture2: How is the course organised? Where can you
find resources?
Lecture3: Prepare your environment to run Java code
BTC - Bitcoin
02 Lecture4: What is Bitcoin?
Lecture5: How is a Bitcoin address structured?
Lecture6: How to create / generate a Bitcoin address using Java?
Lecture7: How to send coins to a Bitcoin address and see it on
the blockchain?
ETH - Ethereum
03 Lecture8: What is Ethereum?
Lecture9: How is Ethereum address structured?
Lecture10: How to create / generate ETH - Ethereum addresses?
Lecture11: How to send coins to a Ethereum address and see it
on the blockchain?
TABLE OF
CONTENTS
Where to find
the course
resources?
Lecture 3: Prepare your environment to run
Java code
Learn how to install Java JDK 8 and download IntelliJ IDEA community edition — which
is free — to run the applications provided with this course.
Prepare your
environment to
run Java code
Java:
Java SE Development Kit 8u231
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html
IntelliJ IDEA:
Community Edition - https://www.jetbrains.com/idea/download/
Git - Source Code Version control:
https://git-scm.com/downloads
2
BTC - Bitcoin
Lecture 4: What is Bitcoin?
Learn what is Bitcoin and the purpose of it such as its usage cases.
What is Bitcoin?
"Announcing the first release of Bitcoin, a new electronic
cash system that uses a peer-to-peer network to prevent
double-spending. It's completely decentralized with no
server or central authority." Satoshi Nakamoto
Original author(s) Satoshi Nakamoto
White paper "Bitcoin: A Peer-to-Peer Electronic Cash System"[4]
https://bitcoin.org/bitcoin.pdf
Implementation(s) Bitcoin Core
Initial release 0.1.0 / 9 January 2009 (10 years ago)
Latest release 0.18.1 / 9 August 2019 (3 months ago)[3]
Development status Active
Website bitcoin.org
Lecture 5: How is a Bitcoin address
structured?
You learn how a Bitcoin address is structured.
How is a Bitcoin
address
structured? Sample Legacy address: 1KwBRs6CioGM2pFdzQsxyrSZ9ynJQr7Amd
https://mycrypto.tools/blog_how_to_generate_bitcoin_addresses.html
Base58 characters:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
There are currently three address formats in use:
1. P2PKH (Pay-to-PubkeyHash) -
1KwBRs6CioGM2pFdzQsxyrSZ9ynJQr7Amd - addresses start with a 1
2. P2SH (Pay to script hash) -
3DnW8JGpPViEZdpqat8qky1zc26EKbXnmM - address start with a 3
3. Bech32 (SegWit) - bc1qngw83fg8dz0k749cg7k3emc7v98wy0c74dlrkd
- addresses start with bc1
Lecture 6: How to create / generate a
Bitcoin address using Java?
Learn how to create a Bitcoin address offline using a Java application. The
application will be developed from scratch using open-source libraries —
bitcoinj java library.
Lecture 7: How to send coins to a Bitcoin
address and see it on the blockchain?
In this lecture, we send bitcoins to the address generated using the
application created in this course. Then we see the balance on the
blockchain.
How to send coins
to a Bitcoin address
and see it on the
blockchain?
https://www.blockchain.com/btc/address/1DH1MWrBYmo1TTzhSCAML1cg
An19SkXS6P
3
ETH - Ethereum
Lecture 8: What is Ethereum?
In this lecture, you learn what is Ethereum?
What is
Ethereum?
Ethereum is an open source, public, blockchain-based distributed computing
platform and operating system featuring smart contract (scripting)
functionality.
Some specifics about Ethereum:
Original author(s)Vitalik Buterin, Gavin Wood, Joseph Lubin
Initial release 30 July 2015
Repository github.com/Ethereum
Written in C++, Go, Rust
Operating system Cross-platform
Type Blockchain
Lecture 9: How is Ethereum
address structured?
You learn how a Ethereum address is structured. The details of a Ethereum
address and public-key cryptography — public and private keys.
How is an
Ethereum
address Sample Ethereum Address (42 Hexadecimal characters):
ETH Address: 0xDC25EF3F5B8A186998338A2ADA83795FBA2D695E
structured?
https://mycrypto.tools/blog_how_to_generate_ethereum_addresses.html
➔ Ethereum Addresses can contain the following characters 0-9 and
[a-fA-F] – except the prefix which is 0x.
➔ Ethereum address has a maximum length of 42 hexadecimal characters.
Lecture 10: How to create / generate
ETH - Ethereum addresses?
Learn how to create a Ethereum address offline using a Java application.
The application will be developed from scratch using open-source libraries
— ethereumj java library.
Lecture 11: How to send coins to a
Ethereum address and see it on the
blockchain?
In this lecture, we send Ether to the address generated using the
application created in this course. Then we see the balance on the
etherscan and blockchain.
How to send coins to a
Ethereum address and see
it on the blockchain?
https://etherscan.io/address/0x05B05824BEC5AFB4BE8AFDBA4EA4BDBD8
7962A4C
Don’t forget to check https://mycrypto.tools and
subscribe for upcoming courses.
https://mycrypto.tools
Bitcoin Address Bitcoin Address Ethereum Address
Generator Validator Generator
https://mycrypto.tools/btcaddress.html https://mycrypto.tools/btcad https://mycrypto.tools/ethaddress.
dressvalidator.html html
You can generate Bitcoin addresses online
by using this generator. The addresses Bitcoin address validation This is a very simple Ethereum
created on this tool are only for tool. Validates all Bitcoin Address generator. You can create
educational usage. We never store or log addresses. Ethereum public and private keys
your address generation requests or using this tool online.
private keys on our servers.
Ethereum Address Hash Utils Encrypt and Decrypt
Validator Bitcoin - Ethereum
https://mycrypto.tools/ethad
https://mycrypto.tools/hashutils.html Private keys
dressvalidator.html SHA3-256(Secure Hash Algorithm 3), https://mycrypto.tools/encrypt_decrypt_
SHA3-512(Secure Hash Algorithm 3), keys.html
You can validate your MD5, SHA-256(Secure Hash You can encrypt and decrypt text /
Ethereum addresses by using Algorithm), RIPEMD160(RIPE private keys using this tool. Then you
this online address validation Message Digest) and Hexadecimal don't need to store your private keys
tool. without and encryption and this provides
additional security for you.
THANKS
Does anyone have any questions?
https://mycrypto.tools/contacts.html
CREDITS: This presentation template was created by Slidesgo, including
icons by Flaticon, and infographics & images by Freepik.
Please keep this slide for attribution.