# Introducing Pantheon, a Mainnet Java Client - Demo & Roadmap (Devcon4)

- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2019-10-09
- Duration: 25:47
- Topics: blockchain, smart contracts, distributed ledger, Science & Technology
- Watch: https://streameth.org/watch/yt-W0jKirZZzZU
- YouTube: https://www.youtube.com/watch?v=W0jKirZZzZU

## Description

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more.
https://archive.devcon.org/archive/watch/4/introducing-pantheon-a-mainnet-java-client-demo-and-roadmap

This will be the launch of Pantheon, a Java client built for mainnet with an eye for meeting enterprise requirements. Having multiple, performant clients is important to the long-term viability of the Ethereum ecosystem, and enterprise adoption will draw greater resources. This will be a demo of the new client with a walk-through of our roadmap. By introducing a client in Java and building it open source, we’re hoping to draw in the massive Java community into the Ethereum ecosystem, support research and innovation led by the Ethereum Foundation, and add extensions to meet enterprise needs on privacy, permissioning, and others. We will also talk about some of our research efforts on top of Pantheon.

Speaker(s): Shahan Khatchadourian, Rob Dawson, Daniel Heyman
Skill level: Intermediate
Track: Scalability
Keywords: java, client, mainnet

Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum
Learn more about devcon: https://www.devcon.org/
Learn more about ethereum: https://ethereum.org/ 

Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. 
Devcon 4 was held in Prague, Czech Republic on Oct 30 - Nov 2, 2018.
Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

## Transcript

they're so pantheon is a new aetherium client built with the JVM because we built it from the ground up it's a patchy - license and we quietly over open-source it over the weekend it's now fully open source you can check it out we'll be sharing the repo later we had a few crawlers find us over the weekend and commit PRS submit PRS and getting committed so we're up and running it all works it runs live on main net on rinkeby on Rob Stan there's proof of work there's click POA it's a it's a real functioning client you know we integrate with a bunch of other consensus projects within furo with Alessio with truffle meta mask and a bunch of non consensus players in the ecosystem as well and we're always looking for more so you know the final point that I just want to say on what we are and where we are is this is our first release we wanted to release early so we could get feedback and help the community shape what we're doing so please play around with it please realize it's a work in progress but please work with us to make it better and so just to prove that we're real this is a snapshot we took this morning from each stats and lo and behold there we are running both our own nodes and running on in fear uh Pantheon nodes which for us is pretty exciting it works it's real we're not making this up so [Applause] so why did we do this why don't we spend the last year building another aetherium client a couple reasons first we believe that a healthy ecosystem requires a number of clients we want a diversity of approaches we want a diversity of techniques and teams all contributing ideas and so we thought another a client could really contribute the second bit though is we really wanted to build our capabilities from the ground up and get into the weeds of the challenges of building a client that's really important for us because it provides a foundation for a lot of the research efforts we're contributing to as well on aetherium 2.0 work as well as some of our enterprise research and you know the other bit that's really important to us is we want to help grow the community you know theorem wins and aetherium works and aetherium thrives because of the community we have and so by enabling another language and other team and other set of developers to work with the community we're hoping to grow and and help this community thrive but the final bit is we also wanted to bring enterprises to Maine that help facilitate enterprises working on maintenance and so we built it from the ground up to be a patchy to license out of the box any Enterprise can take this and play with it and so drilling a little deeper into this we chose Java for a Pantheon for three main reasons the first is that Java is a really mature ecosystem and it comes with a lot of free tooling database integrations other sorts of integrations instrumentation monitoring logging stuff that you just get for free out of the box with Java which is really exciting but it's the second and third reason that excite us the most Java has an enormous community of developers that aren't engaging sufficiently in aetherium right now and they're usually Enterprise developers and so we're hoping by delivering Enterprise great software we can help port them over here the final bit is enterprises have invested in Java they have Java systems they have Java talent and it's just easier for them to play around on Java and so I'm gonna hand over to Shahan who'll talk more about our enterprise vision as well hi everybody so one of the reasons why we so why is Pegasus building Pantheon well when we started getting involved in this space we were we were involved in the EA founding of the EEA we were getting involved with enterprises forming the enterprise aetherium Alliance vision and we were hearing from enterprises that they wanted to use aetherium well no no kidding it's a great platform it's robust it's a resilient and we we wanted to hear their requirements so we were trying to ingest their requirements into the EA vision and then from there we started working with customers we engage with the government of Dubai we were hearing from the government that they wanted to use enterprise-grade etherium and they also wanted to use maenette well no no kidding and so we wanted to bridge these two disparate worlds we wanted to build enterprise-grade maenette technologies with that would integrate and interoperate with enterprise technology stacks and that's why Pegasus was founded in order to build Pantheon from the ground up in a way that enterprises would be able to incorporate into their technology stacks so where is Pegasus well Pegasus is a global group where a group of 50 people in Australia Europe and North America we have three main three main prongs we have product which is building Pantheon which is focused on maenette maenette is our number one priority and at the same time we are building Enterprise modules for aetherium enterprise-grade aetherium and at the same time we're doing a research and development with the if they're in foundation we're focus on if their iam 2.0 we're focused on Enterprise ethereum we're we're working on Enterprise modules like interoperability scalability working with existing technology stacks and at the same time we have a standards group that is helping to bring maenette standards into the enterprise group an enterprise space so that enterprises can have trust that they can use may not technologies in their technology stack and now I will hand it over to Rob who will talk demo Pantheon and talk about the roadmap so while it was kind of cool showing like a screenshot of stats it's actually kind of nice to see software as well so I'll start off by showing we've created a QuickStart that we ship as a part of Pantheon and I'll start by just running that up and I won't stop it first it's already stopped so we'll start with they're running the private private network so this is just a series of docker docker images running a few notes and a nice little block Explorer that's been built by alessio so as this is started I'm going to quickly go across and go to our acceptance tests so we take I guess our software really seriously we've got a great set of acceptance tests that we are regularly running on commit and then some extra acceptance tests that we have sort of running as well so we've got truffle is one of the tools that we think is pretty important for us to be able to support and so it's what we're running and so I'm going to use that and we're gonna kick off we're gonna get some transactions happening in our chain we're going to get some things happening some real blocks actually being created and transactions inside those blocks we can see that things are compiling and working there you'll see up there as well in the blue we've got a series of services that are running on our QuickStart so we've got a HTTP endpoint that's what our truffle is interacting with right now there's a WebSocket endpoints so that's supporting the pub/sub API which is sort of well known and being more well established now and there's also the block Explorer sitting there as well so I'll go through and show you our connecting into the WebSocket so it's just using a normal simple WebSocket client Chrome extension sitting here so I'm just going to open a connection to that WebSocket and send in a subscribe telling it that we're subscribing to the new heads events and if the demo gods are kind we'll start to see some transactions coming through and there we go so ever we've got blocks being created switch across now to our block Explorer which ships is a part of the test network that we've got sitting there and we should start to see that the best blocks numbers will be increasing there so you can see that the blocks are going through this is a new block Explorer that's been produced by the team Alessio they're going to be open sourcing this and making it available for people to have on their own private networks as well so you can see it's kind of a nice clean simple interface that we've got sitting here if I go into that best block you can also see I guess some things you can see there so we've got six peers on our network so that docker network that I have sitting there has six peers sort of sitting in connecting talking to each other our best block is sitting there and you can see that the current head block there doesn't have any transactions in it we're mining pretty rapidly in this network so that we can keep seeing our transactions come through if I go down to here you can sort of see the the nice interface there you go kind of a length that here's how many transactions there are on each block so if I click on one you can see there's our transactions and then we can drill down and actually see the details of one of our transactions and get some of the details of what's happening here so that's us with a live block Explorer interacting with Pantheon a new main net client one last thing is I want to highlight here is just we've got some simple documentation where we're working towards making this an accessible client for people to get working with and using it easily so we expect that I guess the if we're pulling people in from the Java community they're going to know nothing about a theorem so that QuickStart is a great way for them to get started our documentation we're making it easy for people to get started and working with the product this is I guess an area where we'd love to get feedback so if people are downloading and getting started with Pantheon you're going WTF what's happening here then we want to know and get and get feedback and know how we can make this thing better that's our demo [Applause] let's have a look at some of this stuff yep it's just a test net so yep okay so we've got our roadmap here of things that are happening so there's three main themes that we've got happening as a group at pegasus so we've got our core client we've got our enterprise features and our theory and 2.0 work we take main net as the message has been we take maintenance seriously and so we want to make sure that we are having main that as our first class thing its main net first in our client we've built main net support we have this vision for an enterprise client that will be used by enterprises and it is enterprise grade but maintenance first you know you've got to build on top of what's there and a world where enterprises are pinning their their technologies may be using side chains like we've got on our enterprise stack their opinions back to to main and it all sort of works is is the world that we want to enable with Pantheon and so that's why we're doing what we're doing so core our two sort of big things that we see in the short term there we don't have a far sink yet so we're running as a full archive node it's our alpha that's where we started we're gonna build on top of that and be running as a full node and getting the the sort of fast sink East 63 sort of messages working well and working on performance so working with the inferior guys and making sure that Pantheon is working well enough to support that billions of requests that are coming in through in furor we'd love to have Pantheon being a part of that and we're working within fiatter to help make that happen on the enterprise side so there's a bunch of things happening there I guess the the interesting ones so we're doing a pbft based consensus mechanism we've got some really smart guys way smarter than me actually doing the formal definition of that and doing like the liveness proofs and making sure that this protocol that we're we're specifying up there that's pbft based is sort of robust and a good protocol for us to be using and building on top of we're looking at the the EEA so the enterprise aetherium alliance they've specifying a bunch of stuff around the consensus mechanisms but also the permissioning and privacy side so we're doing our own implementations of those standards and making sure that our client is ready for enterprises to start using and provides the features which we know that they they really care about and meet looking as well at the site change side so I guess being able to support that as we go it forward with the future the last section I got down the bottom there and last but clearly not least is a theory of 2.0 and so Pegasus has a bunch of work that we are doing in the etherium 2.0 space we've got Ben Edgington is probably not here but he's I guess got a team around him that's doing a really great work in the the research side and bringing that forward into the development side as well and so our Pantheon client is going to be an ethereal 2.0 client and so we're doing the work on the the beacon chains sharding and all the etherium 2.0 research and bring that forward into our development space as well that's our roadmap so looking at that there's a bunch of ways that we'd love to get people involved for anyone that's enterprise-e and working it working at places in in enterprise we're looking for our company's partners clients that we can sort of partner with to make sure that we're building the software that's the right software for you we want to make sure that our code is not being built in a vacuum off to the side by a bunch of theoretical engineering guys like I'm the product guy saying let's actually build stuff that solves problems and meets client needs so we're looking for people on the enterprise side there we're looking for I feel almost like Steve Ballmer but like developers so I won't say it three times but and I guess in - in a bunch of ways so Pegasus is hiring we'd love to have people join our team and come work with us but also we don't want to like be the only ones doing work on this product we'd love to have an open-source community and be working with a community of people so if you've got ideas things that you want to see in a client come along contribute create pull requests we're open source for Apache - you know we're there to work with you if you I guess the other thing for the developers is download us use us and tell us what doesn't work tell us what's hard you know it's an alpha it's it's actually a really good alpha I think but it's it's it's still an alpha and you know you know things aren't going to be perfect and we'd love to get feedback and we want to make this like the best client I am going to hand over to Johan thank you rob so we are on github we are open source please submit PRS we have already received an OPR from somebody out there in the world and we've accepted the PR join us on gator on twit on Twitter visit us at the booth we are close by and we are hiring we are keen on talking to you developers enterprises product people we want to ingest your ideas we want to chat with you so please talk to us talk to rob about product talk to Dan about engagement about strategy talk to me about research talk to Ben about research please just talk with us engage with us thank you thank you very much guys I think you're doing in hacker tone to open up for questions we're gonna take questions now but if everyone who is a member of Pegasus could raise their hand there's a few of you in the room feel free after this talk to go up to any one of them for questions as well and we're gonna be at the booth the consensus booth which is just in the sponsor zone right at the end of this hall all afternoon and as drum said there's an enterprise hackathon this weekend that's here in Prague so if you're spending a few days in this beautiful city and don't want to see pretty sights but want a hack instead come join us we we can give you all the info at the booth what a sales pitch - yeah I know it's gonna be raining this weekend I think yeah there we go so where's question hi so for interaction with Pantheon will people use a web 3j library or is it something else that y'all have created yep so it's the standard sort of API czar the main way to work with it at the moment sorry web 3j web 3j yes so the ways to go right now I expect in the fullness of time there'll be a more direct API for Java people to interact with but right now web 3j works really really well so we're using web 3j as a part of our acceptance tests sort of suite so you think that like in the future that Pantheon will be maybe a library that you bring in to whatever Java project you're doing cool thank you what do you think what do you think about using cotton to get most of the Java benefits but you don't have to write this language yeah I think Cotton's definitely we've got people that are really excited about Kotlin and and looking at it for for definitely some of the the parts of the code base and I think as we start to build more and more modules I think cot alone is probably my preference over like a scholar so there'll be some people I think maybe even on the stage who might say that scholars a better choice than colon but we're open to all its JVM so yeah we're we're actually already in the process of transitioning to support card line we're revamping some of the infrastructure all right the architecture to do that are we going to provide corporative support like great corporation standards and a corporation support company to support companies just want to use your software the short answer that I'll give is yes and then might say more so absolutely we have a support offering that we're already working on if you're interested in that would love to chat a little bit more we can talk through the truth is we haven't rolled it out yet so the details of it we didn't want to talk to enterprises and understand what you'd be looking for as we define it but absolutely yep yeah hey it's super exciting thank you did you start working on faster yet and if not I entrusted to collaborate with was the guest team the parity team on maybe solutions in this regard yes we haven't on the product side started doing much Casper related stuff but Ben Edgington has been definitely looking into it and yeah definitely love the idea of collaborating with people yeah and with the past thing yeah we're working on having that interoperability that extensibility of in the network protocol for example on this mechanism yeah did I hear interoperability in sync mode fasting mode we're looking at interoperability at different layers so at the network layer at the EVM layer because some enterprises may want to extend the EVM in some fashion such as use integrating their databases or a big data framework sorry IA iframe works the use cases are still open we'd love to hear the use cases that enterprises would love to engage on and we're and the more we talk with customers the more we'll understand where at what layers we can develop that at API those api's just wanted to add to some something that every said about fasting so with the parity team and guess team wanted to collaborate on a new sync protocol and if you guys are interested you were more than welcome to join in about eight minutes the discussion of where to take the whole thing protocols because it's a really paint for everybody so where's that happening here we're not sure yet somewhere okay great I'll grab me one more question gentleman in the green have you reuse any of the themes echoed or you have started from scratch sorry for licensing reasons so you started thanks for the presentation do you have any point in your roadmap to support OSGi integration for example not currently but we're I guess we've got a short short-term roadmap and then open sort of roadmap beyond yeah so even though we're not supporting usgi it works with spring so dependency injection works very well with the the framework that as is and it's very easy to use so very easy to extend and apply there's probably a PR sitting somewhere that does the spring integration I saw I BFT is on the roadmap is that for future quorum support so we're using an IBF tea based protocol and so the potential for Interop with with quorum is there the actual details of how that's going to work is is not yet I guess developed and so it's hard to say how it's going to exactly work well we have IB ft implementation and it is interoperable with quorum right now we're working on an IPF TP 2.0 which is meets better constraints for liveness and safety yeah do you all have on your roadmap a plan to maybe improve the privacy features of private transactions and in Coram you talk about what tiller doing in there yep so we definitely have the ideas around how to do a privacy in a way that's I guess different decorum and so sort of inspired by learning some of the lessons from quorum but done somewhat differently and the actual implementation details us again it's not like a broken record haven't got a actually done yet but yeah there's definitely some some diagrams and things that I can I can share with you and have a chat with later and be a spec v1 was released in May v2 was released yesterday they have privacy levels we're looking to see how quorums privacy and our privacy features may interoperate or just compare and see how we can perhaps support the EI standards as well as customer quirements they may not overlap so we're very curious to hear what kind of privacy requirements that you're seeking so please come talk to us it also might be worth I mean you might have thought about this but you know creating a bounty to see if you know there's a lot of different ways to kind of glean information on those private transactions so yeah it might be a good idea to like try and open that up just to show up and make sure that banks and insurance companies are you know or comfortable with yeah definitely just just a thought yeah I mean our R&D team the eath 2.0 team they're working on ZK start CK starts trying to figure out how those get integrated at multiple layers of the protocol how they can be simplified aggregated composed these are all pieces that we're all actively looking into what kind of technology are you using for the chain data storage yep so at the moment we're we're still working on a Rox DB sort of database for the the storage we're looking at so we've got an abstraction layer around that and so moving into support I guess you know pluggable storage mechanisms so I guess it's Java so probably something JDBC based with the casing layer to actually make sure that performance happens as well yeah and the R&D team is also looking at database technologies to try and simplify the integration and the indexing benefits that come from databases so we're trying to see where where the technologies can be leveraged in in the blockchain and vice-versa because that's how we're trying to bridge we're trying to bring main technologies to enterprise and vice-versa bring Enterprise technologies to may not you
