Index
A
- abi field, Deployment Process
- accounts, Accounts
- address payable type, Making the Greeter Ownable, Setting the Beneficiary and Custodian
- address type, Making the Greeter Ownable, Setting the Beneficiary and Custodian
- addresses
- Aeron Labs, Permanent Records
- aircraft logbooks, Permanent Records
- application binary interface (ABI), Deployment Process
- apt-get command, Ubuntu Installation (Including Windows WSL Ubuntu)
- arrays
- artifacts.require function, Our First Test
- async/await syntax function, Our First Test
- auditing
- Authio, auditing company, Auditing Companies
- await keyword, Making Our Contract Dynamic
B
- B9 Academy, courses on Ethereum, B9 Academy
- backend and frontend, connection between, The Frontend, Web3, and the Blockchain
- backup phrase for MetaMask, Installing MetaMask
- beforeEach hook, Initializing Fundraisers
- beneficiary address, Setting the Beneficiary and Custodian
- beneficiary for a fundraiser, changing, Adding Edit Beneficiary to the Contract-Adding Edit Beneficiary to the Contract
- Bitcoin white paper, A Brief History
- block.timestamp attribute, What Time Is It?
- blockchains, Blockchain Concepts-Summary
- characteristics of, The Character of a Blockchain-Hard Forks
- developing on, Preface
- evaluating for your application, Evaluating Blockchain for Your Application-Resilient
- frontend, Web3, and, The Frontend, Web3, and the Blockchain
- Ganache, Ganache
- structure of, Blockchain Concepts
- submitting donations in Fundraiser application, Accepting a Donation with React
- blocks
- bootnodes, Decentralized Networks
- boundary cases, testing for fundraisers, Testing the Offset
- BrowserRouter, React Routing
- browsers, MetaMask extension, Installing MetaMask
- build/contracts directory, Deployment Process
- Buterin, Vitalik, A Brief History
- bytecode field, Deployment Process
C
- call method, Call (Reads)
- calldata, Making Our Contract Dynamic, Initializing Fundraisers
- chainId, Signing Transactions
- Chrome, installing MetaMask extension, Installing MetaMask
- clean room feature (Truffle), Our First Test, Making Our Contract Dynamic
- client directory, Creating the Project
- client terminal, Setting Up the UI
- code examples from this book, Using Code Examples
- Coinbase, Application Overview
- command-line interface, Ethereum clients, Ethereum Clients
- compile command, Starting with React Truffle Box
- compiling contracts, Deployment Process, Truffle
- componentDidMount function, Importing our Greeter Contracts
- confirmation of transactions, Transaction Finality
- consensus protocols, Consensus Protocols-Proof-of-Authority
- ConsenSys
- constructors
- contentious hard forks, Hard Forks
- contract function, Initializing Fundraisers, Creating Fundraisers
- contractName field, Deployment Process
- contracts, smart (see smart contracts)
- conversion rate UI for Fundraiser, Displaying the Current ETH Exchange Rate-Displaying the Current ETH Exchange Rate
- createFundraiser function, Creating Our New Fundraiser Page View
- cross-function race conditions, Cross-function race conditions
- cryptocompare add-on, Displaying the Current ETH Exchange Rate
- cryptocurrencies, Blockchain Concepts
- CryptoFin, checklist for securing smart contracts, Preparing Your Contract for an External Audit
- cryptography, signing transactions, Signing Transactions
- CryptoKitties, Non-Fungible Token (ERC-721)
- curl command, using to install Node.js, Ubuntu Installation (Including Windows WSL Ubuntu)
- currentProvider method, Providers
- custodian address, Application Overview, Setting the Beneficiary and Custodian
D
- data locality and function parameters, Initializing Fundraisers
- databases, The Character of a Blockchain
- decentralized applications (DApps), Blockchain Concepts, Decentralized Applications-Summary
- Decentralized Autonomous Organization (DAO), security breach, Why Do We Need to Worry About Security?, Reentrancy
- decentralized networks, blockchains running over, Decentralized Networks
- deploying contracts, Deploying and Interacting with Contracts-Summary
- describe block, Initializing Fundraisers
- development environment, setting up, Before We Get Started-Summary
- development network, Deploying to Ganache
- difficulty, Proof-of-Work
- directories
E
- Echidna tool, Free Auditing Resources
- else statement, using Web3 locally, Promises with Web3
- EOAs (see externally owned addresses)
- ERC-20 tokens standard, ERC-20
- ERC-721 tokens standard, Non-Fungible Token (ERC-721)
- ether, Proof-of-Work, Ether and Gas-Ether and Gas
- Ethereum
- Ethereum clients, Ethereum Clients-Installing Parity
- Ethereum Improvement Proposal (EIP), token standards ERC-20 and ERC-721, Tokens
- Ethereum white paper, A Brief History
- Etherscan
- examples of deployed tokens, ERC-20
- inspecting all blocks and transactions via, Transparent
- events, Contracts
- eWASM (Ethereum flavored WebAssembly), Proof-of-Stake
- exchange address, Application Overview
- external auditing of smart contracts, External Auditing
- external functions, Saying Hello
- externally owned addresses (EOAs), Accounts
F
- factory pattern, FundraiserFactory
- fallback functions, Fallback Functions-Fallback Functions
- faucets on test networks, Ether and Gas
- for loops, myDonations
- forks
- formSubmitHandler function, Setting Our Greeting Through React
- from property, Making the Greeter Ownable
- frontend, Web3, and the blockchain, The Frontend, Web3, and the Blockchain
- function keyword, Contracts
- functions
- Fundraiser application, The Fundraiser Application-Summary
- Fundraiser contract, Initializing Fundraisers
- FundraiserCreated event, Creating Fundraisers
- FundraiserFactory contract, Creating the Project, FundraiserFactory-Summary
- fundraisers function
H
- handleGreetingChange function, Setting Our Greeting Through React
- hard forks, Hard Forks
- hashrate, Proof-of-Work
- HDWalletProvider, installing, Deploying to Goerli with Parity
- "Hello, World!", testing, Saying Hello-Saying Hello
- hierarchical deterministic (HD) wallets, Deploying to Goerli with Parity
- Homebrew, using to install Node.js on Mac, Mac Installation
- Hyperledger Fabric, Supply Chain
I
- incrementing currentFundraisersCount, Creating Fundraisers
- incrementing donors count, Fundraiser Totals
- Infura, deploying to Rinkeby with, Deploying to Rinkeby with Infura-Deploying to Rinkeby with Infura
- Initial Coin Offering (ICO), ERC-20
- Integer overflow and underflow, Integer Overflow and Underflow
- inter-contract communication, Proof-of-Stake
- internal functions, Saying Hello, Unprotected Function
- is syntax, inheritance through, Making the Greeter Ownable
M
- Mac computers, installing Node.js, Mac Installation
- mappings, Mappings
- Mastering Ethereum (Antonopoulos and Wood), Mastering Ethereum
- Material UI
- maxLimit parameter, fundraisers function, Testing the Limit
- memory keyword, Saying Hello
- memory, local data notated with, Initializing Fundraisers
- mempool, Transaction Processing
- message (msg) attributes, Blocks and Transactions
- MetaMask
- migrate command, Starting with React Truffle Box
- migrations
- Mocha, use in Truffle tests, Our First Test
- modifier, onlyOwner, Making the Greeter Ownable
- msg object
N
- Nakamoto, Satoshi, A Brief History
- name function, Initializing Fundraisers
- networks
- new keyword, myDonations
- node -v command, Ubuntu Installation (Including Windows WSL Ubuntu)
- Node.js
- nodes
- non-contentious hard forks, Hard Forks
- non-fungible tokens (ERC-721), Non-Fungible Token (ERC-721)
- nonces (transaction), Transaction Processing
- npm, using to install Truffle, Truffle
O
- objects, internal and private functions not called on, Saying Hello
- offset, testing for selecting correct fundraisers, Testing the Offset-Testing the Offset
- onChange action, Setting Our Greeting Through React
- onChange function, Creating Our New Fundraiser Page View
- onlyOwner modifier, Making the Greeter Ownable
- onSubmit action, Setting Our Greeting Through React
- opcodes, Ether and Gas
- OpenZeppelin contracts
- ownable contracts, Making the Greeter Ownable-Making the Greeter Ownable, Starting with React Truffle Box
P
- Parity, Ethereum Clients
- payable addresses (see address payable type)
- payable modifier, Donation Tests
- permissioned blockchains, Supply Chain
- pilots' logbook, Permanent Records
- pragma (compiler instruction), Our First Test
- private functions, Saying Hello
- private keys, Signing Transactions
- promises, Promises with Web3-Promises with Web3
- Proof-of-Authority (PoA) protocol, Proof-of-Authority
- Proof-of-Stake (PoS) protocol, Proof-of-Stake
- Proof-of-Work (PoW) protocol, Proof-of-Work
- proposers, Proof-of-Stake
- providers
- public functions, Saying Hello
- public-key cryptography, Signing Transactions
- pure functions, Saying Hello
- pure keyword, Contracts
- push function, Donation Tests
R
- React, Setting Up the UI
- React and Material UI, using in Fundraiser frontend, React and Material UI-Displaying the Current Fundraisers List
- React Box, Why React?
- react-router-dom package, installing, React Routing
- read-only Solidity functions, Contracts
- receipts for donations, generating, Generating a Donation Receipt for Our User-Generating a Donation Receipt for Our User
- records, permanent, Permanent Records
- reentrancy, Reentrancy
- remote procedure calls (RPCs), What Is Web3?
- render function, Adding Our Greeter Contract Functionality
- require statement, Contracts
- resilience in blockchains, Resilient
- resolve function, Promises with Web3
- return function, Importing our Greeter Contracts
- return values
- Rinkeby network, deploying to with Infura, Deploying to Rinkeby with Infura-Deploying to Rinkeby with Infura
- routing in React application, React Routing
- runExample function, Adding Our Greeter Contract Functionality
S
- SafeMath, Fundraiser Totals, Integer Overflow and Underflow
- security for smart contracts, Smart Contract Security-Summary
- send methods, Making the Greeter Ownable, Send (State Updates/Write)
- sendTransaction method, sendTransaction()
- Serenity project, Proof-of-Stake
- setAccounts function, Displaying the Current Fundraisers List
- setGreeting function, Setting Our Greeting Through React, Setting Our Greeting Through React
- setProvider method, sendTransaction()
- sharding, Proof-of-Stake, Proof-of-Stake
- smart contracts, Preface, Blockchain Concepts, A Brief History
- solc, compiling contracts, Ether and Gas
- Solidified
- Solidity, Blockchain Concepts
- state variables, Making Our Contract Dynamic
- storage, persistent data notated with, Initializing Fundraisers
- structs in Solidity, Structs
- styles
- submitFunds function, Displaying the Current ETH Exchange Rate
- supply chains, Supply Chain-Supply Chain
- Szabo, Nick, A Brief History
T
- temporary forks, Decentralized Networks
- test-driven development (TDD), Our First Smart Contract
- testing
- Fundraiser application donations, Donation Tests-Donation Tests
- Fundraiser application tests, Initializing Fundraisers-Initializing Fundraisers
- Fundraiser tests with beneficiary and custodian, Setting the Beneficiary and Custodian
- Fundraiser, setting beneficiary test cases, Editing the Beneficiary
- "Hello, World!" contract, Saying Hello
- test for donations in Fundraiser application, Testing a Donation
- total test coverage for contracts, Preparing Your Contract for an External Audit
- writing your first test, Our First Test-Our First Test
- text field component (Material UI), Creating Our New Fundraiser Page View
- this, internal and private functions not called on, Saying Hello
- time
- timestamps, Blocks and Transactions
- tokens, Tokens-Non-Fungible Token (ERC-721)
- toWei helper function, Donation Tests
- Trail of Bits, resources for smart contract auditing, Free Auditing Resources
- transaction (tx) attributes, Blocks and Transactions
- transactions
- blocks and, Blocks and Transactions
- fees for, Proof-of-Authority, Ether and Gas
- finality, Transaction Finality
- gas and gasprice attributes, Ether and Gas
- initiation by EOA in Ethereum blockchain, Accounts
- ordering dependence, Transaction Ordering Dependence
- processing in blockchains, Transaction Processing-Transaction Processing
- sendTransaction method, sendTransaction()
- signing, Signing Transactions
- transfer methods, Making the Greeter Ownable
- transferOwnership function, Unprotected Function
- transparency in blockchains, Transparent
- Truffle, Truffle-Setting Our Greeting Through React
- Truffle Boxes, Creating the Project
- truffle compile command, Deployment Process
- truffle develop command, Truffle, React Truffle Box Setup
- Truffle HD wallet library, Deploying to Goerli with Parity
- truffle migrate --network command, Contract Compilation and Deployment
- Truffle Suite
- truffle test command, Our First Test
- truffle unbox react command, Dev Setup
- truffle-config.js file, Setup
- tuples, myDonations
W
- wallets, Signing Transactions
- Walmart's experiment in supply chains, Supply Chain
- web page for this book, How to Contact Us
- web servers, The Character of a Blockchain
- Web3, Installing MetaMask, What Is Web3?-Summary
- accessing and storing in React state, Adding Our Greeter Contract Functionality
- calling and submitting donations to blockchain, Accepting a Donation with React
- connecting to and accessing donation receipts, Generating a Donation Receipt for Our User
- frontend, Web3, and blockchains, The Frontend, Web3, and the Blockchain
- getting to access Factory contract, Creating Our New Fundraiser Page View
- methods for interaction with blockchains, Web3 Methods-Call (Reads)
- toWei helper function, Donation Tests
- Windows WSL Ubuntu, installing Node.js on, Ubuntu Installation (Including Windows WSL Ubuntu)
- withdrawals from our contract, Handling a Withdrawal from Our Contract-Adding Edit Beneficiary to the Contract
- write-only Solidity functions, Contracts
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.