SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Distributed
Apps on EOS
by Rob Konsdorf & Eugene Luzgin
All opinions in this talk are the speaker’s own and not the official statements of Block.one
or the greater EOS decentralized autonomous community. This presentation does not
constitute investment advice.
What is EOS?
● A governed blockchain network.
● A decentralized autonomous community.
● A protocol for deploying and interacting
with WebAssembly smart contracts.
● Launched using EOSIO software, an
open source C++ project on Github.
● Uses Delegated Proof of Stake (DPOS)
to achieve distributed consensus.
What is a distributed application?
● Distributed applications (aka d-apps) leverage data and code stored on a
blockchain network.
● Empower the user to be the authorizer of actions in an app.
● Participants can be valued for their contributions via tokens.
● All actions are transparent.
● Everyone can access data on EOS according to the same rules.
○ Private data could still be put on chain in an encrypted form.
Types of Distributed Applications
● Apps that use the core token of the platform e.g.
EOS.
○ Apps that only require storing or transforming data.
○ Apps that leverage the utilities of the core token.
■ e.g. EOS leasing platform.
● Apps that use their own token (perhaps for
different distribution of governance rights and/or
unique incentive models). Some examples:
○ Block producer DACs like EOS Cafe, EOSDAC, and
OracleChain.
○ Everipedia (IQ)
Distributed Autonomous Communities (DACs)
● DACs provide new ways to account for value in the
economy by providing incentives (micropayments) to
contribute to a collective.
○ Explicitly valuing data, e.g. blog content, wiki edits, health data,
transferring knowledge.
○ In STEEM, supply inflation pays for the incentive pool.
● DACs are implemented as distributed applications.
● The ecosystem of applications on EOS will give it
tremendous value as an identity provider that respects the
user’s rights.
Developer Intentions Should Be Stated Upfront
● Article XI in the draft constitution requires
developers to publish the intent and arbitration
forum for their application.
“Each Member who makes available a smart
contract on this blockchain shall be a
Developer. Each Developer shall offer their
smart contracts via a license, and each smart
contract shall be documented with a Ricardian
Contract stating the intent of all parties and
naming the Arbitration Forum that will resolve
disputes arising from that contract.”
Developers Are Responsible for their Users
● Article XIII in the draft constitution states
that developers are responsible for
ensuring the users of their apps follow the
constitution:
“As Developers are able to offer services
and provide interaction with the
blockchain to non Members via their
applications, the Developer assumes all
responsibility for guaranteeing that
non-Member interaction conforms to this
Constitution.”
“Ok, where do I start?”
● Step 1: Set up an EOS development environment.
● Step 2: Dig into the documentation.
● Step 3: Publish your first smart contract.
● Step 4: Tinker and iterate.
Setting up a local EOS environment
● Build from source (Linux and MacOS).
○ git clone https://github.com/EOSIO/eos.git
○ cd eos; git checkout dawn-v4.0.0; git submodule update --init --recursive
○ ./eosio_build.sh && cd build && sudo make install
● You’ll find some new programs on your PATH:
○ nodeos: the EOSIO blockchain node application.
○ cleos: the EOSIO blockchain API command line tool.
○ keosd: the EOSIO wallet program for storing encrypted account keys.
○ eosiocpp: tool to output web assembly files and ABI specification files from C++ code.
nodeos
● Connects to peers to form a distributed
network.
● Can be configured extensively.
○ Block producing nodes (compete to sign
blocks)
○ Non-producing nodes (API node)
○ Specific plugins can be toggled (exposing
different API capabilities)
● A mesh of nodes is the core of the
blockchain network.
cleos
● Used to interact with a nodeos
via API calls using the
command line.
● Supports querying chain state,
creating accounts and keys,
updating accounts and
contracts, transferring, signing,
voting, and more.
keosd
● A separate program for storing keys
in a password-protected & encrypted
wallet.
● Exposes wallet API endpoints for
other programs (such as cleos) to
communicate with.
eosiocpp
● Takes C++ files (smart contract code) as
input and can generate .abi and .wast
files as output.
● Those generated files can be published
to an EOS account.
● That EOS account becomes the address
for the smart contract actions defined in
the original C++ code.
EOS API Overview
EOS Node RPC Interface
EOSjs API for Web Development
Smart Contract API [C/C++]
Extra: EOS API Service & Web Wallet Keychain
EOS Node RPC Interface: Chain API
GET /v1/chain/get_info Get latest information from node
POST /v1/chain/get_block Get information on a specific block
POST /v1/chain/get_account Get account information
POST /v1/chain/get_code Fetch smart contract code
POST / v1/chain/get_table_rows Fetch smart contract data from an account
POST /v1/chain/abi_json_to_bin Serialize json to binary hex
POST /v1/chain/abi_bin_to_json Serialize binary hex back to json
POST /v1/chain/push_transaction Push single transaction (JSON) to blockchain
POST /v1/chain/push_transactions Push multiple transactions to blockchain
POST /v1/chain/get_required_keys Get required keys (public) to sign transaction
Full interface specs here: https://eosio.github.io/eos/group__eosiorpc.html
EOS Node RPC Interface: Wallet API
POST /v1/wallet/create Create new wallet with the given name
POST /v1/wallet/open Open existing wallet with the given name
POST /v1/wallet/lock Lock a wallet of the given name
POST /v1/wallet/unlock Unlock a wallet of the given name
POST /v1/wallet/import_key Import a private key to the wallet of the given name
GET /v1/wallet/list_wallets List all wallets
GET /v1/wallet/list_keys List key pairs for unlocked wallets
GET /v1/wallet/get_public_keys List all public keys across all wallets
POST /v1/wallet/set_timeout Set wallet auto-lock timeout
More specs here: https://eosio.github.io/eos/group__eosiorpc.html#walletrpc
EOSjs - general purpose JS library for EOS blockchain
Eos = require('eosjs') // Eos = require('./src')
eos = Eos.Localnet() // Default: 127.0.0.1:8888 or configuration set for remote endpoint
// All API methods print help when called with no-arguments.
eos.getBlock()
// If a callback is not provided, a Promise is returned
eos.getBlock(1).then(result => {console.log(result)})
// Parameters can be sequential or an object
eos.getBlock({block_num_or_id: 1}).then(result => console.log(result))
// Callbacks are similar
callback = (err, res) => {err ? console.error(err) : console.log(res)}
eos.getBlock(1, callback)
eos.getBlock({block_num_or_id: 1}, callback)
// Provide an empty object or a callback if an API call has no arguments
eos.getInfo({}).then(result => {console.log(result)})
Code and documentation here: https://github.com/EOSIO/eosjs
Smart Contract API [C/C++]
Account API Define API for querying account data.
Action API Define API for querying action properties.
Chain API Define API for querying internal chain state.
Database API APIs that store and retrieve data on the blockchain.
Math API Defines common math functions.
Console API Enables applications to log/print text messages.
System API Define API for interacting with system level intrinsics.
Token API Defines the ABI for interfacing with standard-compatible token messages and database
tables.
Transaction API Define API for sending transactions and inline messages.
Source: https://eosio.github.io/eos/group__contractdev.html
EOS API Service & Web Wallet Keychain
https://github.com/eluzgin/eos-wallet-keychain
Developer IDEs
● CLion
● VS Code
● Oraclechain Dev Helper
● Tokenika EOS Factory
EOS Documentation & Additional Resources
Github Wiki: https://github.com/EOSIO/eos/wiki
EOSIO Stack Exchange (Ask me for an invite after) https://eosio.stackexchange.com
EOS New York Dev Portal Eosdocs.io
EOS Technical Whitepaper v2 https://github.com/EOSIO/Documentation/blob/TWPv2/TechnicalWhitePaper.md
EOS Analysis and Evaluation https://multicoin.capital/2018/04/24/eos-analysis-and-valuation/
Dan Larimer’s Intro to Blockchain talk https://www.youtube.com/watch?v=sYAktmG1NuA
Thomas Cox Arbitration Overview https://vimeo.com/264069066/c84336cc39
EOS Persistence API https://github.com/EOSIO/eos/wiki/Persistence-API
Link up with the EOS Community
● EOS Developers: https://t.me/joinchat/EgOVjkPktgfUS3kt14FStw
● EOS Governance: https://t.me/EOSGov
● EOS BP Infrastructure: https://t.me/BPInfrastructure
● EOS Block Pros: https://t.me/EOSPros
● https://eostalk.io/forums
Upcoming Hackathons
● Hack Til Dawn
○ Community sponsored hackathon coming this summer.
○ Web: https://hack-til-dawn.com
○ Telegram: https://t.me/HackTilDawn
● EOS Global Hackathon
○ Pitch your team and idea today! First Block.one sponsored hackathon will be in Hong Kong.
○ https://eoshackathon.io
EOS Launch
We see VPN network with encrypted peer to peer
communication between BP nodes will go along
way in protecting servers running BP node from a
range of possible attacks.
The BP community have successfully tested
building mesh network of VPN nodes using
WireGuard software and then starting EOS
Mainnet on top of this VPN network.
Tulip Conference
● Next Gen Blockchain Conference in
San Francisco
○ June 7-8
○ Workshop: June 11-13
● Block Producer Summit
○ Multiple panels with representation from
different BPs.

Contenu connexe

Tendances

Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Gene Leybzon
 
Getting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract AuditingGetting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract AuditingBeau Bullock
 
DeFi - What it's all about
DeFi - What it's all aboutDeFi - What it's all about
DeFi - What it's all aboutChinmay Patel
 
NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022 NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022 ForceBolt
 
Blockchain and Cryptocurrencies
Blockchain and CryptocurrenciesBlockchain and Cryptocurrencies
Blockchain and CryptocurrenciesnimeshQ
 
EVM - The Heart of Ethereum
EVM - The Heart of EthereumEVM - The Heart of Ethereum
EVM - The Heart of EthereumTruong Nguyen
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021DanielBohnemann
 
01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for Business01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for BusinessMerlec Mpyana
 
Messari Report Crypto Theses for 2022
Messari Report Crypto Theses for 2022Messari Report Crypto Theses for 2022
Messari Report Crypto Theses for 2022IQbal KHan
 
What is decentralized finance ( de fi )
What is decentralized finance ( de fi )What is decentralized finance ( de fi )
What is decentralized finance ( de fi )Celine George
 
ERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenCodeOps Technologies LLP
 
What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance zaarahary
 
8 Decimal Capital Security Token Industry Overview
8 Decimal Capital Security Token Industry Overview8 Decimal Capital Security Token Industry Overview
8 Decimal Capital Security Token Industry OverviewKadeemClarke3
 
Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)Aleksandar Svetski
 
Decentralised Exchanges - An Introduction
Decentralised Exchanges - An IntroductionDecentralised Exchanges - An Introduction
Decentralised Exchanges - An IntroductionPriyab Satoshi
 
Digital Signage Overview
Digital Signage OverviewDigital Signage Overview
Digital Signage Overviewjcuthbertson
 

Tendances (20)

Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Non-fungible tokens (nfts)
Non-fungible tokens (nfts)
 
Getting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract AuditingGetting Started in Blockchain Security and Smart Contract Auditing
Getting Started in Blockchain Security and Smart Contract Auditing
 
DeFi - What it's all about
DeFi - What it's all aboutDeFi - What it's all about
DeFi - What it's all about
 
NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022 NFT Marketplace: Your Complete Guide For 2022
NFT Marketplace: Your Complete Guide For 2022
 
Blockchain and Cryptocurrencies
Blockchain and CryptocurrenciesBlockchain and Cryptocurrencies
Blockchain and Cryptocurrencies
 
EVM - The Heart of Ethereum
EVM - The Heart of EthereumEVM - The Heart of Ethereum
EVM - The Heart of Ethereum
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021
 
01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for Business01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for Business
 
What the Duck is DeFi
What the Duck is DeFiWhat the Duck is DeFi
What the Duck is DeFi
 
Messari Report Crypto Theses for 2022
Messari Report Crypto Theses for 2022Messari Report Crypto Theses for 2022
Messari Report Crypto Theses for 2022
 
What is decentralized finance ( de fi )
What is decentralized finance ( de fi )What is decentralized finance ( de fi )
What is decentralized finance ( de fi )
 
ERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum Token
 
What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance
 
8 Decimal Capital Security Token Industry Overview
8 Decimal Capital Security Token Industry Overview8 Decimal Capital Security Token Industry Overview
8 Decimal Capital Security Token Industry Overview
 
Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)
 
Decentralised Exchanges - An Introduction
Decentralised Exchanges - An IntroductionDecentralised Exchanges - An Introduction
Decentralised Exchanges - An Introduction
 
What is corda
What is cordaWhat is corda
What is corda
 
Decentralized finance research
Decentralized finance researchDecentralized finance research
Decentralized finance research
 
Digital Signage Overview
Digital Signage OverviewDigital Signage Overview
Digital Signage Overview
 
nft.pptx
nft.pptxnft.pptx
nft.pptx
 

Similaire à EOSIO Distributed Application Use Cases

Top open source blockchain platforms of 2018
Top open source blockchain platforms of 2018Top open source blockchain platforms of 2018
Top open source blockchain platforms of 2018Parangat Technologies
 
Ethereum Block Chain
Ethereum Block ChainEthereum Block Chain
Ethereum Block ChainSanatPandoh
 
10 most used blockchain tools in 2021 for blockchain development
10 most used blockchain tools in 2021 for blockchain development10 most used blockchain tools in 2021 for blockchain development
10 most used blockchain tools in 2021 for blockchain developmentAmniAugustine
 
VEROS-white-paper
VEROS-white-paperVEROS-white-paper
VEROS-white-paperRip Burman
 
An introduction to the EOS in Blockchain and Crypto
An introduction to the EOS in Blockchain and CryptoAn introduction to the EOS in Blockchain and Crypto
An introduction to the EOS in Blockchain and CryptoBlockchain Council
 
The JavaScript toolset for development on Ethereum
The JavaScript toolset for development on EthereumThe JavaScript toolset for development on Ethereum
The JavaScript toolset for development on EthereumGreeceJS
 
Javascript toolset for Ethereum Smart Contract development
Javascript toolset for Ethereum Smart Contract developmentJavascript toolset for Ethereum Smart Contract development
Javascript toolset for Ethereum Smart Contract developmentBugSense
 
EOS9CAT Community Event 0808 (Vancouver, BC, Canada)
EOS9CAT Community Event 0808 (Vancouver, BC, Canada)EOS9CAT Community Event 0808 (Vancouver, BC, Canada)
EOS9CAT Community Event 0808 (Vancouver, BC, Canada)Alamusi Alamusi
 
ICON Introduction and Roadmap
ICON Introduction and RoadmapICON Introduction and Roadmap
ICON Introduction and RoadmapICON Foundation
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractThanh Nguyen
 

Similaire à EOSIO Distributed Application Use Cases (20)

Top open source blockchain platforms of 2018
Top open source blockchain platforms of 2018Top open source blockchain platforms of 2018
Top open source blockchain platforms of 2018
 
How to design, code, deploy and execute a smart contract
How to design, code, deploy and execute a smart contractHow to design, code, deploy and execute a smart contract
How to design, code, deploy and execute a smart contract
 
Ethereum
EthereumEthereum
Ethereum
 
All About Ethereum
All About EthereumAll About Ethereum
All About Ethereum
 
Ethereum Block Chain
Ethereum Block ChainEthereum Block Chain
Ethereum Block Chain
 
10 most used blockchain tools in 2021 for blockchain development
10 most used blockchain tools in 2021 for blockchain development10 most used blockchain tools in 2021 for blockchain development
10 most used blockchain tools in 2021 for blockchain development
 
BlockChain Public
BlockChain PublicBlockChain Public
BlockChain Public
 
Evaluation of Ethereum
Evaluation of Ethereum Evaluation of Ethereum
Evaluation of Ethereum
 
VEROS-white-paper
VEROS-white-paperVEROS-white-paper
VEROS-white-paper
 
An introduction to the EOS in Blockchain and Crypto
An introduction to the EOS in Blockchain and CryptoAn introduction to the EOS in Blockchain and Crypto
An introduction to the EOS in Blockchain and Crypto
 
The JavaScript toolset for development on Ethereum
The JavaScript toolset for development on EthereumThe JavaScript toolset for development on Ethereum
The JavaScript toolset for development on Ethereum
 
Javascript toolset for Ethereum Smart Contract development
Javascript toolset for Ethereum Smart Contract developmentJavascript toolset for Ethereum Smart Contract development
Javascript toolset for Ethereum Smart Contract development
 
Eos smart contract
Eos smart contractEos smart contract
Eos smart contract
 
Programming Decentralized Application
Programming Decentralized ApplicationProgramming Decentralized Application
Programming Decentralized Application
 
EOS9CAT Community Event 0808 (Vancouver, BC, Canada)
EOS9CAT Community Event 0808 (Vancouver, BC, Canada)EOS9CAT Community Event 0808 (Vancouver, BC, Canada)
EOS9CAT Community Event 0808 (Vancouver, BC, Canada)
 
BlockchainLAB Hackathon
BlockchainLAB HackathonBlockchainLAB Hackathon
BlockchainLAB Hackathon
 
Block chain technology
Block chain technology Block chain technology
Block chain technology
 
Block chain technology
Block chain technologyBlock chain technology
Block chain technology
 
ICON Introduction and Roadmap
ICON Introduction and RoadmapICON Introduction and Roadmap
ICON Introduction and Roadmap
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart Contract
 

Dernier

The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdfJamie (Taka) Wang
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 

Dernier (20)

The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 

EOSIO Distributed Application Use Cases

  • 1. Distributed Apps on EOS by Rob Konsdorf & Eugene Luzgin All opinions in this talk are the speaker’s own and not the official statements of Block.one or the greater EOS decentralized autonomous community. This presentation does not constitute investment advice.
  • 2. What is EOS? ● A governed blockchain network. ● A decentralized autonomous community. ● A protocol for deploying and interacting with WebAssembly smart contracts. ● Launched using EOSIO software, an open source C++ project on Github. ● Uses Delegated Proof of Stake (DPOS) to achieve distributed consensus.
  • 3. What is a distributed application? ● Distributed applications (aka d-apps) leverage data and code stored on a blockchain network. ● Empower the user to be the authorizer of actions in an app. ● Participants can be valued for their contributions via tokens. ● All actions are transparent. ● Everyone can access data on EOS according to the same rules. ○ Private data could still be put on chain in an encrypted form.
  • 4. Types of Distributed Applications ● Apps that use the core token of the platform e.g. EOS. ○ Apps that only require storing or transforming data. ○ Apps that leverage the utilities of the core token. ■ e.g. EOS leasing platform. ● Apps that use their own token (perhaps for different distribution of governance rights and/or unique incentive models). Some examples: ○ Block producer DACs like EOS Cafe, EOSDAC, and OracleChain. ○ Everipedia (IQ)
  • 5. Distributed Autonomous Communities (DACs) ● DACs provide new ways to account for value in the economy by providing incentives (micropayments) to contribute to a collective. ○ Explicitly valuing data, e.g. blog content, wiki edits, health data, transferring knowledge. ○ In STEEM, supply inflation pays for the incentive pool. ● DACs are implemented as distributed applications. ● The ecosystem of applications on EOS will give it tremendous value as an identity provider that respects the user’s rights.
  • 6. Developer Intentions Should Be Stated Upfront ● Article XI in the draft constitution requires developers to publish the intent and arbitration forum for their application. “Each Member who makes available a smart contract on this blockchain shall be a Developer. Each Developer shall offer their smart contracts via a license, and each smart contract shall be documented with a Ricardian Contract stating the intent of all parties and naming the Arbitration Forum that will resolve disputes arising from that contract.”
  • 7. Developers Are Responsible for their Users ● Article XIII in the draft constitution states that developers are responsible for ensuring the users of their apps follow the constitution: “As Developers are able to offer services and provide interaction with the blockchain to non Members via their applications, the Developer assumes all responsibility for guaranteeing that non-Member interaction conforms to this Constitution.”
  • 8. “Ok, where do I start?” ● Step 1: Set up an EOS development environment. ● Step 2: Dig into the documentation. ● Step 3: Publish your first smart contract. ● Step 4: Tinker and iterate.
  • 9. Setting up a local EOS environment ● Build from source (Linux and MacOS). ○ git clone https://github.com/EOSIO/eos.git ○ cd eos; git checkout dawn-v4.0.0; git submodule update --init --recursive ○ ./eosio_build.sh && cd build && sudo make install ● You’ll find some new programs on your PATH: ○ nodeos: the EOSIO blockchain node application. ○ cleos: the EOSIO blockchain API command line tool. ○ keosd: the EOSIO wallet program for storing encrypted account keys. ○ eosiocpp: tool to output web assembly files and ABI specification files from C++ code.
  • 10. nodeos ● Connects to peers to form a distributed network. ● Can be configured extensively. ○ Block producing nodes (compete to sign blocks) ○ Non-producing nodes (API node) ○ Specific plugins can be toggled (exposing different API capabilities) ● A mesh of nodes is the core of the blockchain network.
  • 11. cleos ● Used to interact with a nodeos via API calls using the command line. ● Supports querying chain state, creating accounts and keys, updating accounts and contracts, transferring, signing, voting, and more.
  • 12. keosd ● A separate program for storing keys in a password-protected & encrypted wallet. ● Exposes wallet API endpoints for other programs (such as cleos) to communicate with.
  • 13. eosiocpp ● Takes C++ files (smart contract code) as input and can generate .abi and .wast files as output. ● Those generated files can be published to an EOS account. ● That EOS account becomes the address for the smart contract actions defined in the original C++ code.
  • 14. EOS API Overview EOS Node RPC Interface EOSjs API for Web Development Smart Contract API [C/C++] Extra: EOS API Service & Web Wallet Keychain
  • 15. EOS Node RPC Interface: Chain API GET /v1/chain/get_info Get latest information from node POST /v1/chain/get_block Get information on a specific block POST /v1/chain/get_account Get account information POST /v1/chain/get_code Fetch smart contract code POST / v1/chain/get_table_rows Fetch smart contract data from an account POST /v1/chain/abi_json_to_bin Serialize json to binary hex POST /v1/chain/abi_bin_to_json Serialize binary hex back to json POST /v1/chain/push_transaction Push single transaction (JSON) to blockchain POST /v1/chain/push_transactions Push multiple transactions to blockchain POST /v1/chain/get_required_keys Get required keys (public) to sign transaction Full interface specs here: https://eosio.github.io/eos/group__eosiorpc.html
  • 16. EOS Node RPC Interface: Wallet API POST /v1/wallet/create Create new wallet with the given name POST /v1/wallet/open Open existing wallet with the given name POST /v1/wallet/lock Lock a wallet of the given name POST /v1/wallet/unlock Unlock a wallet of the given name POST /v1/wallet/import_key Import a private key to the wallet of the given name GET /v1/wallet/list_wallets List all wallets GET /v1/wallet/list_keys List key pairs for unlocked wallets GET /v1/wallet/get_public_keys List all public keys across all wallets POST /v1/wallet/set_timeout Set wallet auto-lock timeout More specs here: https://eosio.github.io/eos/group__eosiorpc.html#walletrpc
  • 17. EOSjs - general purpose JS library for EOS blockchain Eos = require('eosjs') // Eos = require('./src') eos = Eos.Localnet() // Default: 127.0.0.1:8888 or configuration set for remote endpoint // All API methods print help when called with no-arguments. eos.getBlock() // If a callback is not provided, a Promise is returned eos.getBlock(1).then(result => {console.log(result)}) // Parameters can be sequential or an object eos.getBlock({block_num_or_id: 1}).then(result => console.log(result)) // Callbacks are similar callback = (err, res) => {err ? console.error(err) : console.log(res)} eos.getBlock(1, callback) eos.getBlock({block_num_or_id: 1}, callback) // Provide an empty object or a callback if an API call has no arguments eos.getInfo({}).then(result => {console.log(result)}) Code and documentation here: https://github.com/EOSIO/eosjs
  • 18. Smart Contract API [C/C++] Account API Define API for querying account data. Action API Define API for querying action properties. Chain API Define API for querying internal chain state. Database API APIs that store and retrieve data on the blockchain. Math API Defines common math functions. Console API Enables applications to log/print text messages. System API Define API for interacting with system level intrinsics. Token API Defines the ABI for interfacing with standard-compatible token messages and database tables. Transaction API Define API for sending transactions and inline messages. Source: https://eosio.github.io/eos/group__contractdev.html
  • 19. EOS API Service & Web Wallet Keychain https://github.com/eluzgin/eos-wallet-keychain
  • 20. Developer IDEs ● CLion ● VS Code ● Oraclechain Dev Helper ● Tokenika EOS Factory
  • 21. EOS Documentation & Additional Resources Github Wiki: https://github.com/EOSIO/eos/wiki EOSIO Stack Exchange (Ask me for an invite after) https://eosio.stackexchange.com EOS New York Dev Portal Eosdocs.io EOS Technical Whitepaper v2 https://github.com/EOSIO/Documentation/blob/TWPv2/TechnicalWhitePaper.md EOS Analysis and Evaluation https://multicoin.capital/2018/04/24/eos-analysis-and-valuation/ Dan Larimer’s Intro to Blockchain talk https://www.youtube.com/watch?v=sYAktmG1NuA Thomas Cox Arbitration Overview https://vimeo.com/264069066/c84336cc39 EOS Persistence API https://github.com/EOSIO/eos/wiki/Persistence-API
  • 22. Link up with the EOS Community ● EOS Developers: https://t.me/joinchat/EgOVjkPktgfUS3kt14FStw ● EOS Governance: https://t.me/EOSGov ● EOS BP Infrastructure: https://t.me/BPInfrastructure ● EOS Block Pros: https://t.me/EOSPros ● https://eostalk.io/forums
  • 23. Upcoming Hackathons ● Hack Til Dawn ○ Community sponsored hackathon coming this summer. ○ Web: https://hack-til-dawn.com ○ Telegram: https://t.me/HackTilDawn ● EOS Global Hackathon ○ Pitch your team and idea today! First Block.one sponsored hackathon will be in Hong Kong. ○ https://eoshackathon.io
  • 24. EOS Launch We see VPN network with encrypted peer to peer communication between BP nodes will go along way in protecting servers running BP node from a range of possible attacks. The BP community have successfully tested building mesh network of VPN nodes using WireGuard software and then starting EOS Mainnet on top of this VPN network.
  • 25. Tulip Conference ● Next Gen Blockchain Conference in San Francisco ○ June 7-8 ○ Workshop: June 11-13 ● Block Producer Summit ○ Multiple panels with representation from different BPs.