The document discusses developing non-fungible tokens (NFTs) using Ethereum smart contracts. It provides an overview of blockchain technology and the Ethereum platform. It describes smart contracts, the Solidity programming language for creating smart contracts, and how they can be used to create unique and trackable NFTs. Popular existing NFT projects are also listed. The document emphasizes skills needed for blockchain software engineering like cryptography and programming languages.
6. Distributed chain of digital data with notary
(timestamp) stored via the Internet (P2P)
https://anders.com/blockchain/blockchain.html
0xD0d3E63c29679940e169526233E5A0B1eef61863
Data
Genes
is
Bloc
k
Ne
w
Bloc
k
Ne
w
Bloc
k
Data structure in blockchain
7. #ISSLearningFest
Ethereum is an open-source, public,
blockchain-based distributed computing platform
and operating system featuring smart contract
functionality. It supports a modified version of
Nakamoto consensus via transaction based state
transitions.
9. #ISSLearningFest
What is Ethereum 2.0?
Ethereum 2.0, also known as Eth2 or “Serenity,” is
an upgrade to the Ethereum blockchain. The
upgrade aims to enhance the speed, efficiency,
and scalability of the Ethereum network so that it
can process more transactions and ease
bottlenecks. Reduce gas fees
10. #ISSLearningFest
What is Proof of Stake (Casper protocol)
● An Algorithm select which node/computer to verify the Ether transaction
● Validator – Stake your 32ETH (collateral) extend period of time
● Uptime (Penalties stake Ether) above 50% online
● Tampering proof (Penalties stake Ether)
● Validator receive reward upon transaction is valid
● No physical hardware is required, deploy the entire validator on the cloud.
● Energy efficiency
• Links to shards (Query and Transaction)
• Decide reward to be distributed out
11. What is Smart Contract
Every informed person needs to know about Bitcoin because it might be one of the
world’s most important developments.
#ISSLearningFest
12. A smart contract is a computer protocol intended to
digitally facilitate, verify, or enforce the
negotiation or performance of a contract. Smart
contracts allow the performance of credible
transactions without third parties.
13. Solidity is a contract-oriented
programming language
for writing smart contracts for
Ethereum Blockchain Platform. It is
used for implementing smart
contracts on various
blockchain platforms.
pragma solidity
^0.4.9; contract
mortal {
/* Define variable owner of the type
address*/ address owner;
function mortal() { owner = msg.sender; }
function kill() { if (msg.sender ==
owner) selfdestruct(owner); }
}
contract greeter is mortal {
function greeter(string _greeting) public
{ greeting = _greeting;
}
function greet() constant returns (string)
{
return greeting;
}
}
14. All solidity source code should start with a "version
pragma" — a declaration of the version of the Solidity
compiler this code should use. This is to prevent issues
with future compiler versions potentially introducing
changes that would break your code. Different solidity
version will have different new features.
pragma solidity
0.4.21;
15. pragma solidity ^0.4.16;
contract C {
function f(uint a) private pure returns (uint b) { return a + 1; }
function setData(uint a) internal { data = a; }
uint public data;
}
16. Name Notes Examples
string Sequence of characters “Hi there !” “Cheese”
bool Boolean value true false
int Integer, positive or negative.
Hash no decimal
0 -30000 59158
uint ‘Unsigned’ integer, positive
number. Hash no decimal
0 30000 99910
fixed/ufixed ‘Fixed’ point number.
Number with a decimal
after it
0 30000
address Has method tied to it for sending
money
0x0654d5c16c853cad3885730e9878d14cb1e7aed
99c27e495c8516cb7f0a9f9ec
21. #ISSLearningFest
What is NFT ?
Non-fungible tokens are a new type of digital token
where every token is different and hold unique
characteristics. Anything from games to painting and
even memes can be an NFT. Thus, it helps to tokenize
any type of asset holding any type of intrinsic value.
23. #ISSLearningFest
ERC721 & ERC1155
ERC721 standard allows for the implementation of a standard API
for NFTs within smart contracts. This standard provides basic
functionality to track and transfer NFTs.
ERC1155 standard interface for contracts that manage multiple
token types. A single deployed contract may include any
combination of fungible tokens, non-fungible tokens or other
configurations (e.g. semi-fungible tokens).
25. #ISSLearningFest
Skill Set needed for Blockchain Software
Engineer
Blockchain Knowledge
Data structure
Web3 Development
Various blockchain architecture
Smart contract development
DevSecOps
Advanced Cryptography
Polyglot , expert in any programming
languages
Restful API
26. #ISSLearningFest
NFTs' ability to create community and provide access
perks online and in real life make them the perfect tool.
As NFTs and metaverses develop, so will the complexity
of their use, and interoperability between metaverses
will be as important as their utility in real life.
Environmental Friendly Simulation - Metaverse, NFTs