# Fork, Spoon and Spaghetti - Zeki | Arcadia Finance

- Channel: [ETH Belgrade Community](https://streameth.org/eth-belgrade-community)
- Date: 2023-10-07
- Duration: 13:11
- Watch: https://streameth.org/watch/yt-sBJOArvYYDA
- YouTube: https://www.youtube.com/watch?v=sBJOArvYYDA

## Transcript

hello everyone it's really more this crowd that's what I like so I don't have any stress at all so I will be talking about testing your product and features before going live on chain I think the title was a bit confusing so but my analogy will make sense in a second so the the okay so the talk will go as follows I will give a short introduction about myself and a bit of Arcadia to make the sense of the whole talk and then spoon the problem part of what we had a problem and four parts we will Deep dive into the problem and spaghetti part solution and the way forward and in the shield Zone I will talk bit more about Arcadia to Shell our protocol so I'm ziki blue my I have a background in computer science operation research before jumping into crypto I worked as a machine learning lead in the fintech company got into crypto in 2018 like in Ico runs as most of us do and lost some money uh and then decided to switch the full-time career in 2020 and in 2021 joined the Arcadia Finance as a founding member and I'm now the head of product at Arcadia Finance I will give more details at the end of the slide about Arcadia about to uh the slides to make more sense a short introduction about Arcadia we are decentralized Finance protocol asset agnostic D5 primitive to manage your positions in D5 world to be in 2022 on summer we published on public test net and on mainnet recently one month ago and optimism and now we are at the struggle part the spoon part if you ever try to eat a spaghetti spoon you will understand me the struggle during our public test launch that we were trying to eat the spaghetti spoon exactly and we run the trading competition on testnet a lot of participants and we upset some developers we had like really high volume on public test net and some developers come to our Discord and really bashed us said what are you doing you are using too much of the public test net uh and then also the one of the problem is the faucet doesn't really work it's always a problematic so to give your users some test ethereum you have to find a way and I don't know if you guys already followed on Twitter that like now there's a Bridges so like there's a value of test ethereum and the one of the biggest problem is the composibility uh Arcadia is interconnected protocol so we are uh building on top of other protocols as well so one of the problems is the test Nets can be reset robsten was once a modern and then it got reset and renamed to the Robson and as I said the composibility if you are building on top of other protocols to other protocols that you are building on top of do they have a deployment already on that test net is it a relevant version and values there these are the problems and oracles are always a problem on testnet and some asset types are problematic and if these specifically and swaps are always a pain because Dex data is always cute so it doesn't represent the real life scenarios so then we said okay we have to find our Fork like we have to eat this spaghetti in the right too and how we try to get away from the test net when we are getting ready for the main Lounge uh we first experimented with the like local devnets that every developer was spinning up their own local devnet and then deploying there and then using it and also uh with the girly we deployed to girly and like a combination of both but that was also not exactly working so what we did uh this is the QR code to the the repo that I put that is like simple version of uh what we did it is like there is a one click solutions that you can easily Deploy on Google cloud and on Railway uh and there's also really detailed explanation I put it there's I don't want to go too technical so you can read it through and if you have any questions you can ask me later on so the solution basically a 4K mainnet from specific block number and then deploy your contracts and then host on cloud and point to the DNS and have URL to give to your developers and everyone can use it uh in the repo we are using The Foundry but I also put the heart attack example so every uh that tooling has quite support for the forking and uh if you cannot find it it's if you type Fork chain Zeki blue you will be able to find it on GitHub uh so why is this relevant what was the benefit that we get so multiple developers working on the same state so that there was no different state on each local developer so you can back trace it it was persistent so we saved a lot of time from Individual developers time so developers don't need to spin up their local devnets and composibility is no longer issues since we are forking from the main net the the exact main net values of the dexis or any other protocols is exactly the same as long as the fork lives and also that and closer to mainnet scenario as I said you are exactly forking from the main net and also the deployments that you can already debug it before you deploy it and debugging is becoming more uh realistic than the test net scenarios and you can create end to end integration tests also for your front end as well so that was really beneficial for us as well and now the spaghetti part that the I will talk about our solution has also a bit of like challenges bringing to us when the team gets bigger and the way forward how we handle that so the challenges that our solution bringing was like a that debugging really complex track transactions became like really a problem so if you are dealing with the multiple protocols like hoppings that kind of was problematic for us that we couldn't able to debug anymore and the versioning is a hassle what I mean by that is there is only one fork and then it is if one developer wants to deploy a different version and try to test it out and other developer wants to do something else it is really a problem since we had the one at DNS one URL and of course you need the reliable RPC supplier that you are forking from mainnet and it is uh closely connected to our PC some RPC providers Blocks Your connections sometimes so your fork becomes stale so then the way forward what we are now experimenting with with the different like adapt tooling instead of trying to again build on top of this to overcome these challenges we are experimenting with tenderly and block six and new forking Solutions and we are a bit of like a mixture of our own Fork solution and with the different ones still testing the waters but in a conclusion I really believe like even from the start it's really beneficial to Fork your effort to mainnet and try to deploy there instead of trying to deploy on the uh public test Nets that it gives more flexibility and it's really free of charge that you just need to spin up and with the repos just one click to do it but if you became more bigger teams that you need other complexities coming along as I told you debugging and the versioning becomes really problematic with the bigger teams so you can have a look to other part other Solutions as well so now it's the best part of the shield zone of Arcadia the Arcadia is on chain margin accounts we are enabling Define native leveraging up to 10x so we are not perpetentious I want to really stress that because when I talk they think about perpenders directly we are defined native so all the matching is happening on the Chain so we are rooting your swaps through the defy native the axis and all your assets and liabilities are in single smart contract as you call it margin accounts and we are asset agnostic it means your erc20s your nfts and ERC 1155s can be in the margin account and we are live on mainnet and optimism I hope you guys check it out and thank you for listening and if you have any questions I will be glad to answer and if you want to connect here's my link tree and that's it thank you hey um so two questions uh let's first answer the first one so why optimism from all the chains because we had a good connection uh we really talked with a lot of possible l2s like we had talked and we had the same mindset about what we think about what the l2s will become and that's why we had the close connection with them and we had the same understanding and that was actually main reason okay I thought it was maybe related to blockchain or something like how scalable is it like it also relate to that and I I had a friend that was working on the research team in the optimism and like I know what they are doing there and I know the what the research team is like really capable of so it was like also a bit of like a trust that we had to the team so that was like really kind of bit of personal a bit of like also business decision altogether great uh and the second question is so uh what if I want to create uh my own private testnet I can do that with the repo but what if I want people to join that chain it is not for other people as per se but like if you are for example three developers building a product so it is for developers but also in the like a scenario of you want to like run trading competition or like any kind of competition you can also create your fork and you can also do there and without the like a little bit subjected to you don't need to find a faucet because it will be yours and you will have the control and that's also benefit you will get from that uh but other than that our most use case was for developers so that we have the same state throughout the developers journey and then we don't have to always Deploy on our local machines and find the solution yeah yeah yeah great great thanks thank you more questions small crowd but nonetheless devoted one [Laughter] yeah that's the best crowd okay cool thank you for tuning in uh we are now proceeding to a coffee break and we will be back in about half an hour with many more great talks here foreign I think
