Introduction to Hyperledger Besu with Felipe of PegaSys
Table of contents
- Discovering Ethereum was the game-changer that turned curiosity into obsession for many blockchain developers. It opened doors to endless possibilities and innovation.
- Basu is revolutionizing enterprise blockchain by making it easier for companies to build private networks while seamlessly integrating with Ethereum's ecosystem.
- Open source is the future of blockchain development, and the right support can turn your curiosity into contribution.
Discovering Ethereum was the game-changer that turned curiosity into obsession for many blockchain developers. It opened doors to endless possibilities and innovation.
Hi guys, today I'm welcoming Felipe, who works as a developer advocate at Pegasus. Welcome, Felipe! How are you?
Thanks for having me!
So, Felipe, can you introduce yourself and explain how you got into blockchain?
Sure! As you said, I'm a developer advocate for Pegasus. I got into blockchain many years ago; I first learned about Bitcoin in 2011 and started really reading about it more in 2012. However, I really got hooked on blockchain and began learning more about it with Ethereum back in 2015. That's when I became kind of obsessed with the subject. I started learning about it daily, and that's when I decided that I wanted to make a career in this field.
This is interesting! You mentioned Ethereum, and I think many blockchain developers have a similar journey. They start with Bitcoin, find it interesting, but aren't completely convinced until they see Ethereum and its capabilities.
Exactly! Bitcoin itself was already such a big thing and an interesting novelty compared to what existed back then. Ethereum really opened up the space and created opportunities for developers to work on top of these new networks.
One thing I wonder about is your role as a developer advocate. Many people might not know what that entails. Can you elaborate on this?
Sure! Developer advocates help other developers understand and use a specific set of technologies. That's what I do—I assist external developers or people trying to use Pegasus products to understand them and eventually contribute to the project. We are an open-source project, and we always welcome contributions.
For you, what does your day-to-day work look like? Do you primarily write documentation or attend conferences to meet people?
On a daily basis, I write technical documentation and create tutorials or step-by-step guides. I also attend conferences to present and give talks about specific topics related to Pegasus. Additionally, I spend a lot of time on our communication channels like Rocket.Chat and Discord.
This sounds like a very special role, as it combines technical skills with social interaction. It seems quite interesting because developers are often quite introverted.
Exactly! To be a developer advocate, you need to be somewhat rare—you have to be a developer, so you need technical skills, but you also have to be social.
So, Felipe, you work at Pegasus, which is a company under ConsenSys. Can you explain what you guys do at Pegasus?
Sure! As you mentioned, Pegasus is part of ConsenSys. We are the protocol engineering arm of ConsenSys, focusing on low-level protocol engineering, networking, and related tasks.
So you guys basically create an Ethereum client, right?
That's exactly right! We work and collaborate on making the open-source Hyperledger Besu client.
Okay, you mentioned Besu. Before we continue discussing Besu, can you clarify the difference between Pantheon and Besu?
Sure! It's basically the same thing, but it was just a name change. Before October 2018, Besu was called Pantheon, and we renamed it.
So now, Besu is the Ethereum client of Pegasus. Can you talk more about what it does and how it differs from other Ethereum clients?
Certainly! Hyperledger Besu is a new client that is now under the wing of the Hyperledger Foundation. We initially created this client to respond to a simple demand: making Ethereum more enterprise-ready. This means making it easier for companies to work with Ethereum, communicate with that blockchain, publish transactions, and so on. The specific advantages it has in that regard are that it is written in Java, it has a P2P 2.0 open-source license, and it includes several specific features that help companies build their own private blockchains and communicate with public networks as well.
So, it has two main features: it can be used as an Ethereum client for the mainnet, and it can also be set up for private use.
Exactly!
Basu is revolutionizing enterprise blockchain by making it easier for companies to build private networks while seamlessly integrating with Ethereum's ecosystem.
Initially, we created that client to respond to a very simple demand: making a theory of more enterprise ready. This involves making it easier for companies to work with the theory, communicate with that blockchain, and publish transactions on top of it, among other functionalities. The specific advantages it has in that regard include that it is written in Java and operates under a Patty 2.0 open-source license. It also has several specific features that might help companies use that client to build their own private blockchain and communicate with the public mainnet as well.
One of the key features is that it can be used as an Ethereum client for mainnet, allowing real-time interaction with the network. The second feature is the ability to set up private blockchains. Typically, this functionality is not used by most people who develop dApps on Ethereum; rather, it is more commonly utilized for development work in large companies such as those in supply chain finance, where there is a need to exchange data privately.
While it is true that many of our users are enterprise developers who utilize Basu to create networks—potentially private networks that communicate through private transactions—there are also users who run Basu as a mainnet client. For instance, I have a node at home that uses Basu and accesses a normal node on the network.
Regarding storage requirements, if you want to run it on mainnet without pruning, you would need three terabytes of storage. However, if you are using pruning, you would only need about seven hundred gigabytes. This storage requirement is fairly standard compared to other clients and is not very far from those storage specifications.
When considering the advantages of not running pruning, it is important to note that having a full archive of all nodes does have its benefits, as you would possess every single transaction that has occurred on the blockchain. However, this is not very practical, as most of the time, you won’t need that information, especially concerning older transactions that may have happened years ago. Therefore, if you want more information, you should avoid pruning.
Another important aspect is compatibility with the rest of the Ethereum tooling, such as Truffle and other tools that smart contract developers commonly use. This is crucial because developers invest significantly in these tools and are unlikely to adopt technology that is not compatible. I can assure you that we are 100% compatible with Ethereum clients. Our technology utilizes base Ethereum technology, allowing you to build any smart contracts and publish them through Basu. The client also propagates transactions just like any other client. Yes, we are also compatible with Truffle and all other Ethereum tools available today.
As for projects that already use Basu, we have several projects in production, with many more currently being developed on top of Basu that will be released soon. Typically, most projects that use Basu today are in the FinTech or supply chain domains, both of which are very important users for Basu.
Lastly, regarding how Basu compares to other Hyperledger projects and private blockchain projects, it’s important to clarify that we initially created Pantheon, which was our original project. We then decided to apply for the Hyperledger Foundation and contribute our code to their foundation. After being accepted, the Hyperledger Foundation became the owner of the Basu codebase, while some members of our team became maintainers of the project. Thus, we continue to update the client and help build it, but the actual ownership of the codebase now lies with the Hyperledger Foundation.
Open source is the future of blockchain development, and the right support can turn your curiosity into contribution.
One thing I wonder is, since this is my own project but it is under the Hyperledger umbrella, how does it compare to other Hyperledger projects and other private blockchain projects? To explain that a little better, we initially created Pantheon, which was originally a standalone project. We decided to apply for the Hyperledger Foundation and contribute our code to their foundation. We were accepted, and the Hyperledger Foundation became the owner of the code base itself. Some members of our team became maintainers of that project. So, we update the client and help build it, but the actual owners today of that code base are the Hyperledger Foundation. It is an open-source project really under the Hyperledger Foundation umbrella, which is part of the Linux Foundation.
The difference between our project and other Hyperledger projects is that we all have different visions and missions. There are about 17 different types of projects out there. For instance, one of the other well-known projects is Hyperledger Fabric, which is primarily designed for private blockchains. The main difference between us and Hyperledger Fabric is that Basil is compatible with the Ethereum ecosystem. This is very important because when companies are hiring developers, many blockchain developers will have some level of familiarity with Ethereum technology. This familiarity makes it much easier to create a private blockchain, whereas for other private blockchain projects, the technology can be totally different, making it a bit harder to hire.
Now, the one million dollar question: how do you guys make money? We have an open-source business model, so we don't sell software because the software is, in any case, public domain. We provide a service for support for that software. Additionally, we offer extra features that are useful for enterprise users, which can be plugged into that open-source client. These features include permissioning, encryption, security, monitoring, and other enterprise functionalities that users would need.
As for our future roadmap, we are currently at version 1.3.7 and will be releasing 1.4 in February 2020. A specific feature I’d like to mention is privacy grouping and group privacy management. This means users will be able to manage groups in private transactions in a more detailed and granular way. This will enable people to build really sophisticated private blockchains with fine-grained information systems.
If you are an Ethereum developer who knows how to build a decentralized application on the mainnet but is curious about private blockchains, I would suggest starting with our documentation site at basichyperledger.org. Our documentation team has worked hard to make it simple and easy to navigate. You can find a variety of QuickStart tutorials that are easy to follow and will gradually introduce you to the software and how to use it. There are specific tutorials for various subjects, such as permissioning, privacy, and creating a private blockchain.
Additionally, we will be releasing other tutorials in this series on how to use Basil, so make sure to watch those. If you have any questions or want to connect, we have an open Rocket Chat channel at the Hyperledger site, where you can chat with us and ask about Basil or anything else. Lastly, as I mentioned earlier, we love open-source contributors. If anyone wants to contribute to the project, feel free to reach out to me either on that chat or on Twitter. My handle is @FelipeFalacci, and I would be glad to help you contribute to this open-source project.
Having a person like me to onboard new contributors is very valuable, as many projects on GitHub express a desire for contributors but lack guidance on where to start. So, take advantage of these opportunities. If you have any questions about Basil or Pegasus, feel free to leave them in the comments below. Make sure to watch all the videos in this series, where we will actually do some coding with Basil. It's going to be really exciting!
Thanks for coming here, Felipe, and I wish you good luck with Basil and Basil. Talk to you soon!