class: center, middle dark-bg light-text # Unite the Ethereum Networks Konstantin Narkhov / [@knarkhov](https://narkhov.pro) --- class: middle add-space # TOC 1. Ethereum networks and their features -- 2. What is the reason to use multiple networks -- 3. What about private networks, how can we audit data there? -- 4. How to share data in this heterogeneous environment -- 5. Raku and its ecosystem as the platform for data relay -- 6. Unite Ethereum networks with Pheix --- # Ethereum networks .fullheight[![Networks list](assets/networks.jpg)] --- class: middle add-space-text # Take more than one! Ethereum blockchain could be much more decentralized if we will use the mix of main net, public test nets and private nets. -- Such method makes it possible to increase the resilience of our distributed application against network attacks or their natural degradation. --- class: black-bg, light-text # A little comparison [Görli](https://stats.goerli.net/) testnet current stats: .left.croppedwidth[![Network goerli](assets/net-goerli-stats.jpg)] -- [Rikenby]() testnet current stats: .fullwidth[![Network rikenby](assets/net-rikenby-stats.jpg)] --- class: middle add-space-text # From private to public By the way, when we use the mix of private and public nets, we also get the additional data access level: sensitive data is stored only on private net and open data — on public net. This approach is quite good for third-party audit or tracing. To manage data in this heterogeneous environment we need data relays (or routers) providing transparent data flows from one nets to another. --- class: middle # Heterogeneous multi network environment .add-space-text[ 1. At least single private network 1. Account address with balance 1. Software for networks relaying ] --- class: middle blue-bg, light-text .croppedwidth90[![Heterogeneous](assets/heterogeneous.gif)] --- class: middle add-space-text # Raku and its ecosystem as the platform Raku is very friendly for Ethereum blockchain: actually, everything for quick start we get from [Rakudo Star](https://rakudo.org/star) bundle: UTF8, big numbers, JSON and UserAgent tools. One dependency to be installed: **Net::Ethereum** module. This is a Raku interface for interacting with the Ethereum blockchain and its ecosystem via JSON RPC API. Module is available from: https://gitlab.com/pheix/net-ethereum-perl6. **Net::Ethereum** communicates with pre-installed Ethereum client and [Solidity](https://github.com/ethereum/solidity) compiler (optional). Actually you can work without Solidity with precompiled smart contracts. --- class: middle add-space-text # Unite'em all! [Pheix](http://pheix.org) – Artistic 2.0 license compliant, Rakulang driven content management system with data storing on Ethereum blockchain. It is extremely lightweight, fast & scalable. Modern Pheix is the CMS for Web3.0 oriented projects. The system basics are: decentralized modules, security and storing the content in different target storages: regular databases, private and public ethereum networks. .ethelia[Ethelia project]: [Early alfa draft of service specification](https://gitlab.com/pheix-io/service/-/tree/requirements/docs). --- class: middle add-space-text # Epilogue I would like to invite you to Pheix and Ethelia dev process — code review, forks and merge requests are very welcome: https://pheix.org https://gitlab.com/pheix-pool/core-perl6 https://gitlab.com/pheix/net-ethereum-perl6/ https://gitlab.com/pheix/router-right-perl6/