SlideShare una empresa de Scribd logo
1 de 27
Crypto-Wallets:
A Technical Perspective
Wallets, Keystores, HD Wallets,
Technical Standards (BIP39, BIP32,
BIP44), Mnemonics, JS Examples
Software University (SoftUni)
https://softuni.org
Svetlin Nakov
Blockchain Engineer
and Technical Trainer crypto
wallet
2
 Software engineer, trainer, entrepreneur,
PhD, author of 13 books, blockchain expert
 3 successful tech educational initiatives (100,000+ students):
About Svetlin Nakov
3
 Technical advisor @ LockChain / LockTrip: https://locktrip.com
 Raised ~ 10.000 ETH in token sale (Sep-Nov 2017)
 Currently LOC token holders book hotels @ 20-30% better price
 Head of blockchain education (Jan-June 2018) @ Academy
School of Blockchain: https://academytoken.com
 Raised ~ 48M USD in token sale (Jan-Apr 2018)
 Tech advisor for blockchain crypto startups:
 Tokenize Exchange, Bountie, Weidex, IRIS Payments Solutions,
Aeternity Ventures
Nakov – Blockchain & Crypto Projects
4
Book "Practical Cryptography for Developers"
GitHub:
https://github.com
/nakov/practical-
cryptography-for-
developers-book
Official site:
https://cryptobook.
nakov.com
Table of Contents
5
1. Public Blockchains: Nano Introduction
2. Blockchain Wallets: Types, Functions, Concepts
3. Practice: Play with the Jaxx Wallet on the Ropsten Testnet
4. Simple Keystores: Encrypted Private Keys
5. Simple Keystores: JS Code Examples and Live Demo
6. HD Wallets: Mnemonics (BIP39), HD Wallets (BIP32, BIP44)
7. HD Wallets: JS Code Examples and Live Demo
6
Public Blockchains: Nano Introduction
Distributed ledger
Peer-to-Peer
network
Nodes hold
ledger of facts +
history of updates
Decentralized
(no owner)
Secure
Transactions are
verified by the
entire network
Immutable
7
Blockchain == Chain of Data Blocks
Demo: https://etherscan.io
timestamp block_hash
all_transactions_hash
transaction #1 hash
transaction #2 hash
transaction #3 hash
…
Block #0 (genesis block)
prev_hash nonce
timestamp block_hash
all_transactions_hash
transaction #1 hash
transaction #2 hash
transaction #3 hash
…
Block #1
nonceprev_hash
timestamp block_hash
all_transactions_hash
transaction #1 hash
transaction #2 hash
transaction #3 hash
…
Block #2
prev_hash nonce
8
 Crypto wallet == software that stores private keys along with their
respective blockchain addresses
 Enables users to send and receive crypto currency / tokens
 Communicates with the blockchain network (through API or by
running a blockchain node)
 Signs transactions and sends them to the blockchain network
What is a Cryptocurrency Wallet?
9
 Mobile wallet (mobile app)
 Desktop wallet (desktop app)
 Web-based wallet (web site)
 Hardware-based wallet
(USB stick, e.g. Ledger, Trezor)
 Paper wallet (private key
printed on a sheet of paper)
Types of Crypto Wallets
Practice
Play with Jaxx Wallet and Ethereum
11
Install the Jaxx Wallet
https://jaxx.io
Jaxx Wallet
Desktop / Mobile
12
Enable the Ethereum Testnet (ETHt)
http://sli.do
#nakov
13
Share Your Wallet Address to Get ETHt
14
Send ETHt to the People Around You
Request test ethers (ETHt) from the Faucets
 http://tiny.cc/ropsten-faucet
 https://faucet.metamask.io
 https://faucet.ropsten.be
 http://faucet.bitfwd.xyz
15
Ethereum Testnet Faucets
16
 Simple keystores
 Example: myetherwallet.com
 Keep a simple ECC private key, password protected
 Similar to OpenSSH and OpenSSL PEM keystores (see PKCS#8)
 HD wallets
 Example: https://iancoleman.io/bip39
 Hierarchical-deterministic (HD) wallet
 Keep a mnemonic phrase (12 or 24 words)
 Derive many private keys from the mnemonic
Simple Keystores vs. HD Wallets
17
Simple Keystores: Encrypted Private Keys
myetherwallet.com
18
JSON / UTC Keystore File – Example
{ "version": 3, "id": "…", "address": "2a90ef17a50f7e99387…c07fc",
"crypto": {
"ciphertext": "fa3315e31cba71df…2cd1", // the encrypted private key
"cipher": "aes-128-ctr", // AES, 128-bit encryption, CTR mode
"cipherparams": { "iv": "08c3f2ba1c…f6" }, // random initial vector
"kdf": "scrypt", "kdfparams": {
"dklen": 32, // key length (256-bit key for AES encryption)
"salt": "d48231c94b90c03018bf9f4…a1e0", // random-generated salt
"n": 1024, // iterations count (CPU + memory cost factor)
"r": 8, // block size (affects CPU + memory)
"p": 1 // parallelization factor (threads count)
},
"mac": "b0ee3cd7e0564acea…49e3" // msg integrity / auth key
} } Learn more at: https://github.com/ethers-io/ethers.js/blob/master/src.ts/utils/secret-storage.ts#L289
https://github.com/ethers-io/ethers.js
19
Creating a Simple Keystore in JavaScript
npm install --save ethers
let ethers = require('ethers');
let newWallet = ethers.Wallet.createRandom();
console.log("Address: " + newWallet.address);
console.log("Private key: " + newWallet.privateKey);
newWallet.encrypt('P@SS~12345a').then(walletJSON => {
console.log("Encrypted wallet JSON:", walletJSON);
});
20
Simple Keystore from Private Key in JS
let ethers = require('ethers');
let privKey =
"0x0e210eff4fc77ff086d81d646c94af42ec5b1bbaf3f1d525f5bf5b82af7056da";
let existingWallet = new ethers.Wallet(privKey);
console.log("Address: " + existingWallet.address);
// Address: 0xe25ACB5AaE29c38DABdc13Ea41177Aba1191D323
const provider =
ethers.providers.getDefaultProvider('ropsten');
provider.getBalance(existingWallet.address).then(balance =>
console.log('Balance:', ethers.utils.formatEther(balance)));
21
Mnemonics and HD Wallets (BIP39, BIP44)
 HD wallets keep a securely generated random seed
 And use a hierarchical deterministic (HD) key-derivation (see BIP-32)
 The seed (root key) can be represented as 12 or 24 words, e.g.
 Each word comes from a wordlist of 2048 words  1 word == 11 bits
 24 words  256-bit entropy  512-bits seed (see BIP-39)
 All private keys + addresses are derived from the seed (see BIP-44)
 See https://iancoleman.io/bip39 to understand the idea in practice
force moon book duck idle best sad net pelican deal dog close
22
 BIP-39 – Mnemonic Code for Generating Deterministic Keys
 BIP-32 – Hierarchical Deterministic Wallets (for Bitcoin)
 Seed  BIP32 extended private key  multiple private keys
 BIP-44 – Multi-Account Hierarchy for Deterministic Wallets
 Seed + coin type + account  BIP44 account extended private
key  multiple private keys
The BIP39, BIP32 and BIP44 Standards
seed = PKBDF2-HMAC-SHA-512(passwd = mnemonic_phrase,
salt = "mnemonic" + mnemonic_password,
iterations = 2014, keyLength = 512)
23
HD Wallets in JavaScript: From Mnemonics
let ethers = require('ethers');
let mnemonic = "summer silent settle explain cigar print
drift genius quarter smart subway humble";
let hdWallet = ethers.HDNode.fromMnemonic(mnemonic);
for (let index=0; index<5; index++) {
let key = hdWallet.derivePath(`m/44'/60'/0'/0/${index}`);
console.log(`Private key #${index}: ${key.privateKey}`);
}
24
HD Wallets in JavaScript: New HD Wallet
let ethers = require('ethers');
let rnd256Bits = ethers.utils.randomBytes(256 / 8);
let mnemonics = ethers.HDNode.entropyToMnemonic(rnd256Bits);
let hdWallet = ethers.HDNode.fromMnemonic(mnemonics);
console.log("Wallet mnemonics:", mnemonics);
console.log("Wallet private key:", hdWallet.privateKey);
for (let index=0; index<5; index++) {
let key = hdWallet.derivePath(`m/44'/60'/0'/0/${index}`);
console.log(`Private key #${index}: ${key.privateKey}`);
}
?
Crypto-Wallets: A Technical Perspective
https://softuni.org
License
 This course (slides, examples, demos, videos, homework, etc.)
is licensed under the "Creative Commons Attribution-
NonCommercial-ShareAlike 4.0 International" license
26
Trainings @ Software University (SoftUni)
 Software University – High-Quality Education,
Profession and Job for Software Developers
 softuni.org
 Software University Foundation
 softuni.foundation
 Software University @ Facebook
 facebook.com/SoftwareUniversity
 Software University Forums
 forum.softuni.bg

Más contenido relacionado

La actualidad más candente

Bitcoin Blockchain - Under the Hood
Bitcoin Blockchain - Under the HoodBitcoin Blockchain - Under the Hood
Bitcoin Blockchain - Under the HoodGalin Dinkov
 
Crypto Wallet Types Explained
Crypto Wallet Types ExplainedCrypto Wallet Types Explained
Crypto Wallet Types Explained101 Blockchains
 
The Lightning Network - A gentle introduction
The Lightning Network - A gentle introductionThe Lightning Network - A gentle introduction
The Lightning Network - A gentle introductionRoland Stadler
 
Practical Crypto Asset Predictions rev
Practical Crypto Asset Predictions revPractical Crypto Asset Predictions rev
Practical Crypto Asset Predictions revJesus Rodriguez
 
Bitcoin Final Year Seminar Report
Bitcoin Final Year Seminar ReportBitcoin Final Year Seminar Report
Bitcoin Final Year Seminar ReportShantanu Singh
 
Overview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsOverview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsJohannes Ahlmann
 
An Overview of Stablecoin
An Overview of StablecoinAn Overview of Stablecoin
An Overview of Stablecoin101 Blockchains
 
Blockchain and cryptocurrency
Blockchain and cryptocurrency Blockchain and cryptocurrency
Blockchain and cryptocurrency azizded
 
Blockchain: The Information Technology of the Future
Blockchain: The Information Technology of the FutureBlockchain: The Information Technology of the Future
Blockchain: The Information Technology of the FutureMelanie Swan
 
Investing in the Security Token Ecosystem
Investing in the Security Token EcosystemInvesting in the Security Token Ecosystem
Investing in the Security Token EcosystemRemi Gai
 
What the hell is NFT?
What the hell is NFT?  What the hell is NFT?
What the hell is NFT? Chinmay Patel
 
The Future of Money: Central Bank Digital Currencies
The Future of Money: Central Bank Digital CurrenciesThe Future of Money: Central Bank Digital Currencies
The Future of Money: Central Bank Digital CurrenciesJ. Scott Christianson
 

La actualidad más candente (20)

Bitcoin Blockchain - Under the Hood
Bitcoin Blockchain - Under the HoodBitcoin Blockchain - Under the Hood
Bitcoin Blockchain - Under the Hood
 
All about Bitcoins!
All about Bitcoins!All about Bitcoins!
All about Bitcoins!
 
Crypto Wallet Types Explained
Crypto Wallet Types ExplainedCrypto Wallet Types Explained
Crypto Wallet Types Explained
 
The Lightning Network - A gentle introduction
The Lightning Network - A gentle introductionThe Lightning Network - A gentle introduction
The Lightning Network - A gentle introduction
 
How To Mint An NFT?
How To Mint An NFT?How To Mint An NFT?
How To Mint An NFT?
 
Ethereum-Cryptocurrency (All about Ethereum)
Ethereum-Cryptocurrency (All about Ethereum) Ethereum-Cryptocurrency (All about Ethereum)
Ethereum-Cryptocurrency (All about Ethereum)
 
Cryptocurrency
Cryptocurrency Cryptocurrency
Cryptocurrency
 
Practical Crypto Asset Predictions rev
Practical Crypto Asset Predictions revPractical Crypto Asset Predictions rev
Practical Crypto Asset Predictions rev
 
Cryptocurrency
Cryptocurrency  Cryptocurrency
Cryptocurrency
 
Bitcoin Final Year Seminar Report
Bitcoin Final Year Seminar ReportBitcoin Final Year Seminar Report
Bitcoin Final Year Seminar Report
 
Overview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsOverview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus Mechanisms
 
An Overview of Stablecoin
An Overview of StablecoinAn Overview of Stablecoin
An Overview of Stablecoin
 
Blockchain and cryptocurrency
Blockchain and cryptocurrency Blockchain and cryptocurrency
Blockchain and cryptocurrency
 
Blockchain: The Information Technology of the Future
Blockchain: The Information Technology of the FutureBlockchain: The Information Technology of the Future
Blockchain: The Information Technology of the Future
 
Masterclass on Bitcoin, Ethereum & Cryptoassets
Masterclass on Bitcoin, Ethereum & CryptoassetsMasterclass on Bitcoin, Ethereum & Cryptoassets
Masterclass on Bitcoin, Ethereum & Cryptoassets
 
Quant in Crypto Land
Quant in Crypto LandQuant in Crypto Land
Quant in Crypto Land
 
Stablecoin
StablecoinStablecoin
Stablecoin
 
Investing in the Security Token Ecosystem
Investing in the Security Token EcosystemInvesting in the Security Token Ecosystem
Investing in the Security Token Ecosystem
 
What the hell is NFT?
What the hell is NFT?  What the hell is NFT?
What the hell is NFT?
 
The Future of Money: Central Bank Digital Currencies
The Future of Money: Central Bank Digital CurrenciesThe Future of Money: Central Bank Digital Currencies
The Future of Money: Central Bank Digital Currencies
 

Similar a Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)

Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)Svetlin Nakov
 
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018Svetlin Nakov
 
Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018
Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018
Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018Svetlin Nakov
 
EthereumBlockchainMarch3 (1).pptx
EthereumBlockchainMarch3 (1).pptxEthereumBlockchainMarch3 (1).pptx
EthereumBlockchainMarch3 (1).pptxWijdenBenothmen1
 
Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Svetlin Nakov
 
Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionCoin Sciences Ltd
 
10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdfWDP Technologies
 
Wallet from noob to pro
Wallet from noob to proWallet from noob to pro
Wallet from noob to proBrian Yap
 
The Blockchain and JavaScript
The Blockchain and JavaScriptThe Blockchain and JavaScript
The Blockchain and JavaScriptPortia Burton
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Jen Andre
 
Hitcon badge 2018
Hitcon badge 2018 Hitcon badge 2018
Hitcon badge 2018 Alan Lee
 
New Business Models enabled by Blockchain
New Business Models enabled by BlockchainNew Business Models enabled by Blockchain
New Business Models enabled by BlockchainSlash
 
Explain Ethereum smart contract hacking like i am a five
Explain Ethereum smart contract hacking like i am a fiveExplain Ethereum smart contract hacking like i am a five
Explain Ethereum smart contract hacking like i am a fiveZoltan Balazs
 
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m FiveZoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Fivehacktivity
 
Security's Once and Future King
Security's Once and Future KingSecurity's Once and Future King
Security's Once and Future KingKapil Sachdeva
 
One library for all Java encryption
One library for all Java encryptionOne library for all Java encryption
One library for all Java encryptionDan Cvrcek
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationPaperchain
 
NodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletNodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletSjors Provoost
 
Kenneth simple bitcoinwebsite
Kenneth simple bitcoinwebsiteKenneth simple bitcoinwebsite
Kenneth simple bitcoinwebsiteHu Kenneth
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Svetlin Nakov
 

Similar a Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018) (20)

Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
Client-Side Wallets in DApps - Nakov @ BlockWorld 2018 (San Jose)
 
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018
 
Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018
Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018
Multi-Signature Crypto-Wallets: Nakov at SoftUnit Conf 2018
 
EthereumBlockchainMarch3 (1).pptx
EthereumBlockchainMarch3 (1).pptxEthereumBlockchainMarch3 (1).pptx
EthereumBlockchainMarch3 (1).pptx
 
Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)
 
Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN Explosion
 
10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf
 
Wallet from noob to pro
Wallet from noob to proWallet from noob to pro
Wallet from noob to pro
 
The Blockchain and JavaScript
The Blockchain and JavaScriptThe Blockchain and JavaScript
The Blockchain and JavaScript
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
Hitcon badge 2018
Hitcon badge 2018 Hitcon badge 2018
Hitcon badge 2018
 
New Business Models enabled by Blockchain
New Business Models enabled by BlockchainNew Business Models enabled by Blockchain
New Business Models enabled by Blockchain
 
Explain Ethereum smart contract hacking like i am a five
Explain Ethereum smart contract hacking like i am a fiveExplain Ethereum smart contract hacking like i am a five
Explain Ethereum smart contract hacking like i am a five
 
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m FiveZoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
 
Security's Once and Future King
Security's Once and Future KingSecurity's Once and Future King
Security's Once and Future King
 
One library for all Java encryption
One library for all Java encryptionOne library for all Java encryption
One library for all Java encryption
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
 
NodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletNodeJS Blockchain.info Wallet
NodeJS Blockchain.info Wallet
 
Kenneth simple bitcoinwebsite
Kenneth simple bitcoinwebsiteKenneth simple bitcoinwebsite
Kenneth simple bitcoinwebsite
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
 

Más de Svetlin Nakov

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиSvetlin Nakov
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024Svetlin Nakov
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and StartupsSvetlin Nakov
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)Svetlin Nakov
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for EntrepreneursSvetlin Nakov
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Svetlin Nakov
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal LifeSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПSvetlin Nakov
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТSvetlin Nakov
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the FutureSvetlin Nakov
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023Svetlin Nakov
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperSvetlin Nakov
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their FutureSvetlin Nakov
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobSvetlin Nakov
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецептаSvetlin Nakov
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?Svetlin Nakov
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)Svetlin Nakov
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Svetlin Nakov
 

Más de Svetlin Nakov (20)

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for Entrepreneurs
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal Life
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин Наков
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООП
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the Future
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a Developer
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their Future
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a Job
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецепта
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)
 

Último

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Último (20)

Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Crypto Wallets: A Technical Perspective (Nakov at OpenFest 2018)

  • 1. Crypto-Wallets: A Technical Perspective Wallets, Keystores, HD Wallets, Technical Standards (BIP39, BIP32, BIP44), Mnemonics, JS Examples Software University (SoftUni) https://softuni.org Svetlin Nakov Blockchain Engineer and Technical Trainer crypto wallet
  • 2. 2  Software engineer, trainer, entrepreneur, PhD, author of 13 books, blockchain expert  3 successful tech educational initiatives (100,000+ students): About Svetlin Nakov
  • 3. 3  Technical advisor @ LockChain / LockTrip: https://locktrip.com  Raised ~ 10.000 ETH in token sale (Sep-Nov 2017)  Currently LOC token holders book hotels @ 20-30% better price  Head of blockchain education (Jan-June 2018) @ Academy School of Blockchain: https://academytoken.com  Raised ~ 48M USD in token sale (Jan-Apr 2018)  Tech advisor for blockchain crypto startups:  Tokenize Exchange, Bountie, Weidex, IRIS Payments Solutions, Aeternity Ventures Nakov – Blockchain & Crypto Projects
  • 4. 4 Book "Practical Cryptography for Developers" GitHub: https://github.com /nakov/practical- cryptography-for- developers-book Official site: https://cryptobook. nakov.com
  • 5. Table of Contents 5 1. Public Blockchains: Nano Introduction 2. Blockchain Wallets: Types, Functions, Concepts 3. Practice: Play with the Jaxx Wallet on the Ropsten Testnet 4. Simple Keystores: Encrypted Private Keys 5. Simple Keystores: JS Code Examples and Live Demo 6. HD Wallets: Mnemonics (BIP39), HD Wallets (BIP32, BIP44) 7. HD Wallets: JS Code Examples and Live Demo
  • 6. 6 Public Blockchains: Nano Introduction Distributed ledger Peer-to-Peer network Nodes hold ledger of facts + history of updates Decentralized (no owner) Secure Transactions are verified by the entire network Immutable
  • 7. 7 Blockchain == Chain of Data Blocks Demo: https://etherscan.io timestamp block_hash all_transactions_hash transaction #1 hash transaction #2 hash transaction #3 hash … Block #0 (genesis block) prev_hash nonce timestamp block_hash all_transactions_hash transaction #1 hash transaction #2 hash transaction #3 hash … Block #1 nonceprev_hash timestamp block_hash all_transactions_hash transaction #1 hash transaction #2 hash transaction #3 hash … Block #2 prev_hash nonce
  • 8. 8  Crypto wallet == software that stores private keys along with their respective blockchain addresses  Enables users to send and receive crypto currency / tokens  Communicates with the blockchain network (through API or by running a blockchain node)  Signs transactions and sends them to the blockchain network What is a Cryptocurrency Wallet?
  • 9. 9  Mobile wallet (mobile app)  Desktop wallet (desktop app)  Web-based wallet (web site)  Hardware-based wallet (USB stick, e.g. Ledger, Trezor)  Paper wallet (private key printed on a sheet of paper) Types of Crypto Wallets
  • 10. Practice Play with Jaxx Wallet and Ethereum
  • 11. 11 Install the Jaxx Wallet https://jaxx.io Jaxx Wallet Desktop / Mobile
  • 12. 12 Enable the Ethereum Testnet (ETHt)
  • 14. 14 Send ETHt to the People Around You
  • 15. Request test ethers (ETHt) from the Faucets  http://tiny.cc/ropsten-faucet  https://faucet.metamask.io  https://faucet.ropsten.be  http://faucet.bitfwd.xyz 15 Ethereum Testnet Faucets
  • 16. 16  Simple keystores  Example: myetherwallet.com  Keep a simple ECC private key, password protected  Similar to OpenSSH and OpenSSL PEM keystores (see PKCS#8)  HD wallets  Example: https://iancoleman.io/bip39  Hierarchical-deterministic (HD) wallet  Keep a mnemonic phrase (12 or 24 words)  Derive many private keys from the mnemonic Simple Keystores vs. HD Wallets
  • 17. 17 Simple Keystores: Encrypted Private Keys myetherwallet.com
  • 18. 18 JSON / UTC Keystore File – Example { "version": 3, "id": "…", "address": "2a90ef17a50f7e99387…c07fc", "crypto": { "ciphertext": "fa3315e31cba71df…2cd1", // the encrypted private key "cipher": "aes-128-ctr", // AES, 128-bit encryption, CTR mode "cipherparams": { "iv": "08c3f2ba1c…f6" }, // random initial vector "kdf": "scrypt", "kdfparams": { "dklen": 32, // key length (256-bit key for AES encryption) "salt": "d48231c94b90c03018bf9f4…a1e0", // random-generated salt "n": 1024, // iterations count (CPU + memory cost factor) "r": 8, // block size (affects CPU + memory) "p": 1 // parallelization factor (threads count) }, "mac": "b0ee3cd7e0564acea…49e3" // msg integrity / auth key } } Learn more at: https://github.com/ethers-io/ethers.js/blob/master/src.ts/utils/secret-storage.ts#L289
  • 19. https://github.com/ethers-io/ethers.js 19 Creating a Simple Keystore in JavaScript npm install --save ethers let ethers = require('ethers'); let newWallet = ethers.Wallet.createRandom(); console.log("Address: " + newWallet.address); console.log("Private key: " + newWallet.privateKey); newWallet.encrypt('P@SS~12345a').then(walletJSON => { console.log("Encrypted wallet JSON:", walletJSON); });
  • 20. 20 Simple Keystore from Private Key in JS let ethers = require('ethers'); let privKey = "0x0e210eff4fc77ff086d81d646c94af42ec5b1bbaf3f1d525f5bf5b82af7056da"; let existingWallet = new ethers.Wallet(privKey); console.log("Address: " + existingWallet.address); // Address: 0xe25ACB5AaE29c38DABdc13Ea41177Aba1191D323 const provider = ethers.providers.getDefaultProvider('ropsten'); provider.getBalance(existingWallet.address).then(balance => console.log('Balance:', ethers.utils.formatEther(balance)));
  • 21. 21 Mnemonics and HD Wallets (BIP39, BIP44)  HD wallets keep a securely generated random seed  And use a hierarchical deterministic (HD) key-derivation (see BIP-32)  The seed (root key) can be represented as 12 or 24 words, e.g.  Each word comes from a wordlist of 2048 words  1 word == 11 bits  24 words  256-bit entropy  512-bits seed (see BIP-39)  All private keys + addresses are derived from the seed (see BIP-44)  See https://iancoleman.io/bip39 to understand the idea in practice force moon book duck idle best sad net pelican deal dog close
  • 22. 22  BIP-39 – Mnemonic Code for Generating Deterministic Keys  BIP-32 – Hierarchical Deterministic Wallets (for Bitcoin)  Seed  BIP32 extended private key  multiple private keys  BIP-44 – Multi-Account Hierarchy for Deterministic Wallets  Seed + coin type + account  BIP44 account extended private key  multiple private keys The BIP39, BIP32 and BIP44 Standards seed = PKBDF2-HMAC-SHA-512(passwd = mnemonic_phrase, salt = "mnemonic" + mnemonic_password, iterations = 2014, keyLength = 512)
  • 23. 23 HD Wallets in JavaScript: From Mnemonics let ethers = require('ethers'); let mnemonic = "summer silent settle explain cigar print drift genius quarter smart subway humble"; let hdWallet = ethers.HDNode.fromMnemonic(mnemonic); for (let index=0; index<5; index++) { let key = hdWallet.derivePath(`m/44'/60'/0'/0/${index}`); console.log(`Private key #${index}: ${key.privateKey}`); }
  • 24. 24 HD Wallets in JavaScript: New HD Wallet let ethers = require('ethers'); let rnd256Bits = ethers.utils.randomBytes(256 / 8); let mnemonics = ethers.HDNode.entropyToMnemonic(rnd256Bits); let hdWallet = ethers.HDNode.fromMnemonic(mnemonics); console.log("Wallet mnemonics:", mnemonics); console.log("Wallet private key:", hdWallet.privateKey); for (let index=0; index<5; index++) { let key = hdWallet.derivePath(`m/44'/60'/0'/0/${index}`); console.log(`Private key #${index}: ${key.privateKey}`); }
  • 25. ? Crypto-Wallets: A Technical Perspective https://softuni.org
  • 26. License  This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" license 26
  • 27. Trainings @ Software University (SoftUni)  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.org  Software University Foundation  softuni.foundation  Software University @ Facebook  facebook.com/SoftwareUniversity  Software University Forums  forum.softuni.bg

Notas del editor

  1. a software program that stores private and public keys and interacts with various blockchains a program that enables users to send and receive digital currency and monitor their balance if you want to use Bitcoin or any other cryptocurrency you will need to have a cryptocurrency wallet