๐ Lilypad Project Report: July 03, 2023
Join us in Paris (& apply to join AugmentHack!), Benchmarking EVM-compatible chains, starting the litepaper and getting to testnet.
๐ Overview
We're going to be in Paris - come and hang out or hack with us!
CODwg Live Jam Series is back- tune in this week to hear from the HackFS winners!
We're also heads down on building out a minimal testnet in time for ETHCC Paris & from the academic trenches, we're starting the Lilypad Whitepaper!
โ๏ธ Lilypad Engineering Update
We're rushing towards the testnet in time for Paris in two weeks, the main items under development are dockerizing the entire stack so we can ship it to compute nodes and clients (now working) and replacing the hardcoded jobs with templated jobs with input parameters for our use cases, e.g AI modules and Filecoin data prep.
The latter has required a complete rewrite of the way the codebase interacts with smart contracts, which we expect to have completed in the next few days. After that, deploying the test net and refining the use case modules, docs & DX will be the top priority
A major upgrade to support external blockchains has also been added to Lilypad v1 (Modicum) here
๐ Benchmarking Chain Transaction Times
Aim:
This experiment aimed to get a rough idea of transaction speed to finalisation for several alternate EVM-compatible chains.
Background:
Only chains that were fully EVM-compatible were tested in this experiment as the code is written in solidity. This is not an exhaustive list of EVM-compatible chains, however, these are a good sampling of the ecosystem.
Some of the measurements usually used for chain performance include:
transaction throughput (scalability measure)
transaction finality (time to finality - inclusion in a block)
block time
transaction fee
Caveats:
This test is by no means an accurate or definitive picture of the performance of the different chains. Several of the issues in benchmarking networks include
Purpose of the chain - some chains are optimised for different requirements - such as storage or security, rather than speed of transactions (& offer other advantages to speed).
Only using testnets which are not exact mirrors of the main chain performance
Time of the run - there may be congestion on a chain at any one time which interferes with a fair comparison.
Speed/Latency of the different RPC endpoints is likely to vary
Methodology:
A basic solidity Greeter script was used as the basis of this experiment.
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract Greeter {
string private greeting;
constructor() {
console.log("Deploying a Greeter with no greeting:");
}
function greet() public view returns (string memory) {
return greeting;
}
function setGreeting(string memory _greeting) public {
console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
greeting = _greeting;
}
}
The script was deployed to the EVM-compatible chain and then the contract setGreeting() and greet functions() were called in a loop 10 times.
for (let i = 0; i < iterations; i++) {
const startTimestamp = Date.now(); //start the timer
const txRes = await contract.setGreeting(network.name);
const txReceipt = await txRes.wait(); // Wait for transaction confirmation and get gas used
const gasUsed = txReceipt.gasUsed;
const greet = await contract.greet();
//console.log(greet.toString());
const endTimestamp = Date.now();
const executionTime = endTimestamp - startTimestamp;
executionTimes.push(executionTime);
gasUsages.push(gasUsed.toString());
results.push({
run: i + 1,
executionTime,
gasUsed: gasUsed.toString(),
});
}
//average all results and write to file.
Date() was used to time how long it took for each call to reach finality and then the average of the 10 run loop was computed and written to a file as seen below. Gas performance was also tested, however results are not included in the below summary.
Results:
Chain | Avg Time (ms) / 10 iterations | Avg Time (ms) / 10 iterations | Avg Time (ms) / 10 iterations | Average Time - All runs (ms) |
Arbitrum Goerli | 2706 | 2899.4 | 2894.9 | 2833.44 |
BNB Testnet | 3025.8 | 3316.7 | 2996.8 | 3113.1 |
Klaytn Testnet | 3425.3 | 3872 | 3601.8 | 3633.04 |
Fantom Testnet | 3823.2 | 3883 | 3807 | 3837.74 |
Mantle Testnet* | 4123.8 | 4109.4 | 4098.8 | 4110.67 |
Optimism Goerli Testnet | 4106.7 | 4274 | 4274 | 4218.24 |
Celo Testnet | 4998.1 | 5013.1 | 4997.9 | 5003.04 |
Avax C Testnet | 8389.9 | 8080.4 | 7577.4 | 8015.9 |
Polygon Mumbai Testnet | 7995.2 | 11269.2 | 6221.3 | 8495.24 |
NEAR Aurora Testnet | 10332.5 | 9542.8 | 10038.1 | 9971.14 |
Polygon zkEVM Testnet | 11274.5 | 12071.8 | 10672.2 | 11339.5 |
Eth Sepolia Testnet | 15550 | 15561.3 | 14464.8 | 15192.04 |
Moonbase Testnet | 28185.8 | 24002.2 | 26363.1 | 26183.7 |
Filecoin Calibration Testnet* | 63110.7 | 60176.9 | 60201.1 | 61162.9 |
Calibration needed custom gas params for deployment and had to remove the call to greet function for this to run successfully. |
*Run issues- not all runs completed on Optimism |
Mantle needed custom gas params set to deploy & run |
Next Steps
The next steps will be running a version of the modicum contract on these chains.
๐ Lilypad Research Update
This week was spent doing further research into solving the complex problems of distributed compute consensus. We've also started on the whitepaper, so stay tuned for more robust news when that's released!
While our Head of Research is busy on this... have you caught up with his talk on Game Theory in Distributed Compute at Boston CODSummit^3 ?
๐ Lilypad "All the Things" Update
This week, Alison Haire & Compute over Data WG Community member Silent Spring are also rebooting the CODwg series - aiming to help create a space for collaboration between decentralised compute over data projects in the web3 space, share best practices and co-create composable, re-suable standards.
We've also confirmed our schedule for ETHCC Paris - and we'd love to meet you there! We're especially excited to be joining AugmentHack๐งโ๐ป and the FIL:Paris๐ซ๐ทNetwork Base events!
๐บ Join CODwg with special guests - HackFS Winners for our rebooted CODwg series!
Tune in on YouTube on July 7 at 6pm EST!
๐งโ๐ป๐ซ๐ท Hack with Lilypad in Paris! Oh lร lร !
July 18 - 19 AugmentHack - a Decentralized AI Hackathon
๐ **$3000 bounty!**๐บ
AugmentHack is bringing together a variety of communities - including Open Source AI and AI x Web3 - that are fundamentally aligned with the principles of decentralization & autonomy.
Sponsors and organizers include Algovera.ai, Lilypad/Bacalhau, StabilityAI, HuggingFace, Llama Index, Gensyn, Ceramic, Ocean, Nevermind, Valory.xyz, Gnosis and more.
July 21-23 ETHGlobal Paris Hackathon
๐ฅ Rendez-vous with Lilypad at these Paris Events!
The Lilypad Team will be in Paris for ETHCC! You can catch us at the following events:
July 18 - Filecoin Unleashed
๐ Sign up here!
July 20 - FIL:Paris Network Base
๐ Sign up here!
๐ Decentralist's Blog Post (On decentralised Compute & AI + Waterlily.ai)
The Dencentralist's Twitter Spaces Podcast is now a blog!
๐ Read the post here!
๐ฎ What's Next?
Next week we'll be frantically preparing to launch the minimal testnet by Paris, as well as building out accompanying talks and examples for developers to play around with. Wish us luck! XD
โ๏ธ Contact Us
๐๏ธ Subscribe to the newsletter: https://lilypad.tech/newsletter