What are you working on? Checking in with Edward Fitzgerald
Hi, I’m Ed. I’m a senior software engineer and I lead the ledger development team at Fetch.AI. Together we are developing the next generation smart ledger.
A lot of the team’s attention in the past few weeks has been focused on performance. Since at Fetch.AI we are building the platform for digital worlds, and the scale that implies, performance really matters. We are not only talking about the raw performance of our software, but also the process of clearing potential bottlenecks to ensure the system scales effectively.
From the beginning, the ledger has been designed to be scalable. The principal way this is achieved is through breaking the system into shards¹. In this light, a large part of our performance testing has been validating how this design scales in practice.
The results are looking good. We will publish these results of our testing in a separate article, since it is important to explain the methodology and results thoroughly.
From a wider perspective, this performance testing has been one specific activity as part of a broader goal to evaluate and shake down our ledger test network. The ledger test network is a network of nodes that is deployed in 17 regions around the world and varies in size (depending on the tests that we are running) from 120 to more than 1,000 nodes. Local and small scale tests are very useful to diagnose specific problems but it is necessary to have a large population of nodes to truly evaluate the system.
In addition to testing the ledger’s performance, we have been working towards having mobile wallets up and running. These will be available for iOS and Android. Our initial wallet release will allow users to generate public/private key pairs and to make transactions on the Fetch test network.
The combination of the wallets and the test network mark a major internal milestone for us and we hope you share our excitement about this leap forward.
Lastly, I would like to encourage everyone to have a look at our GitHub page.
While the ledger is the only publicly available project at the moment, we will soon be in a position to release our Python and Node SDKs for the ledger. This is part of a wider set of changes to improve developers’ experience. We will talk more about this in the future, but this will include a developer community website which will host documentation and guides about how to get started working with the ledger and Fetch agents. As part of these changes we will be moving to allow increased public participation in the test network.
Following on in a similar developer focus, it is also important for me to mention our current development model for the ledger. We are operating a two repository scheme, a public and a private repo. We use the private repository for incubating new features and once they are reasonably stable they are pushed to the public repository. This setup is mostly for historical reasons and we aim to move to a single (public) repository model for the ledger in the not too distant future.
Well, I hope you found this update interesting and you are as enthusiastic as we are for the direction Fetch.AI is heading. If you have any questions, do post them in a comment below or reach out to us at firstname.lastname@example.org.