22
USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC SWETHA REPAKULA [email protected]

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC · USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC MOTIVATIONS Allows developers to use languages such as Solidity

  • Upload
    others

  • View
    20

  • Download
    1

Embed Size (px)

Citation preview

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

SWETHA REPAKULA [email protected]

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

AGENDA

▸ Overview of Hyperledger Fabric

▸ Motivations for the EVM Integration

▸ EVM Concepts

▸ EVM implementation

▸ Demo

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

HYPERLEDGER FABRIC

▸ Permissioned

▸ Endorsement Policy & Consensus

▸ Finality of Transactions

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

TRANSACTION WORKFLOW

ORDERING SERVICE

PEER

Org1

CHAINCODECHAINCODE

PEER

Org2

CHAINCODECHAINCODE

CLIENT

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

EXECUTE

ORDERING SERVICE

PEER

Org1

CHAINCODECHAINCODE

PEER

Org2

CHAINCODECHAINCODE

1. Collect Endorsements

CLIENT

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

ORDER

ORDERING SERVICE

PEER

Org1

CHAINCODECHAINCODE

PEER

Org2

CHAINCODECHAINCODE

2. Broadcast

CLIENT

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

VALIDATE

ORDERING SERVICE

PEER

Org1

CHAINCODECHAINCODE

PEER

Org2

CHAINCODECHAINCODE

3. Deliver

CLIENT

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

WHAT IF

ORDERING SERVICE

PEER

Org1

CHAINCODECHAINCODE

PEER

Org2

CHAINCODECHAINCODE

1. Execute

1. Execute

3. Deliver

3. Deliver

2. BroadcastCLIENT

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

WHAT IF

ORDERING SERVICE

PEER

Org1

PEER

Org2

EVM

1. Execute

1. Execute

3. Deliver

3. Deliver

2. Broadcast

EVM

CLIENT

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

WHAT IF

ORDERING SERVICE

PEER

Org1

PEER

Org2

EVM

1. Execute

1. Execute

3. Deliver

3. Deliver

2. Broadcast

EVM

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

MOTIVATIONS

▸ Allows developers to use languages such as Solidity and Vyper

▸ EVM bytecode Smart Contracts can be migrated

▸ Allows developers to use Web3 tooling

▸ Burrow EVM is Apache 2.0 licensed

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

EVM CONCEPTS

▸ Accounts (EOAs & Contract Accounts)

▸ Gas

▸ EVM Message Calls

▸ Read current transaction writes

▸ Ethereum JSON RPC API

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

DESIGN

▸ EVM Chaincode

▸ fabproxy

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

PEER

APIEVM CC

STATE WRITER

LEDGERNS: EVM

IMPLEMENTATION

GO SDKETHEREUM JSON RPC API

fabproxy

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

PEER

APIEVM CC

STATE WRITER

LEDGERNS: EVM

IMPLEMENTATION

GO SDKETHEREUM JSON RPC API

fabproxy

1. User Request

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

PEER

APIEVM CC

STATE WRITER

LEDGERNS: EVM

IMPLEMENTATION

GO SDKETHEREUM JSON RPC API

fabproxy

2. Invoke EVM CC

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

PEER

APIEVM CC

STATE WRITER

LEDGERNS: EVM

IMPLEMENTATION

GO SDKETHEREUM JSON RPC API

fabproxy

3. Invokes EVM

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

PEER

APIEVM CC

STATE WRITER

LEDGERNS: EVM

IMPLEMENTATION

GO SDKETHEREUM JSON RPC API

fabproxy 4. Gets Contract Code

USING THE HYPERLEDGER BURROW EVM INSIDE HYPERLEDGER FABRIC

PEER

APIEVM CC

STATE WRITER

LEDGERNS: EVM

IMPLEMENTATION

GO SDKETHEREUM JSON RPC API

fabproxy5. Generates Rest of Reads & Writes

DEMO

TEXT

REFERENCES

▸ Design Doc: https://docs.google.com/document/d/1xZfdtFiIFvHI7UZAze2xbm5hhgaDHGRBMusozKfpOck/edit#

▸ JIRA Epics: https://jira.hyperledger.org/browse/FAB-6590 & https://jira.hyperledger.org/browse/FAB-10273

▸ Chaincode: https://github.com/hyperledger/fabric-chaincode-evm

▸ dapp repo: https://github.com/ibm/hyperledger-fabric-evm-demo

▸ Live demo using our POC: http://fabric-evm-demo.mybluemix.net/ Password: some-password

ANY QUESTIONS?