What’s Going On Behind the Screens: Ergo Weekly Dev Update November 10th
The Ergo weekly Dev update is not the sexiest crypto blog. Although all things equal, it is a solid choice.
Focusing on the moon is great, but the truth is a rocket takes an incredible amount of engineering.
Designing and building systems that are subject to immense pressure is not an easy task. It is always the brains in the background that get things done. This is what the Ergo team is about, building solid tech.
Open-source software developers are unappreciated heroes who endure an underappreciated grind.
It was a big week for Ergo. I would like to cover the latest news, then get to the deve updates.
AuctionHouse V2 went live this week, anon_real posted an update on ErgoForum that covers what is new.
Ergo auction house has come a long way. At the start, it only supported the node as a wallet and no artworks, only ordinary tokens. Along the way, many features and standards were introduced which resulted in some adoption. Auction house V1 experienced more than 17000 transactions (bids and auctions) which is pretty impressive.
However, it is time for more fundamental improvements with AH V2.
Here are only some of the new features:
Much easier user experience for issuing artworks, starting auctions, and placing bids for both buyers and artists. This is done by supporting the Yoroi dapp connector (currently only works with Yoroi Nighty) and ErgoWallet Android (by easy QR codes)
Many UI improvements including notifications, in the AH artwork issuance page, owned artworks section, and more.
Supporting other currencies alongside ERG. Currently, the AH supports ERG, SigUSD, SigRSV, and kushti token (in @kushti’s honor) as currencies.
Royalty feature — artists can set royalty percentages for secondary sales upon issuance.
Audio NFTs with cover.
Instant buy option.
Better design for minimum bid which allows sellers to set the minimum bid amount as high as they wish without actually placing the first bid themselves.
And many other minor improvements.
In order to end the ongoing scams once and for all, the NFT copy detector (implemented by the community member Luivatra) has been directly integrated with the AH V2. Also, to decrease the chance of junk auctions, a starting fee for auctions has been introduced which is currently set to 0.1 ERG. This starting fee is a global config stored on the blockchain and will be increased/decreased accordingly with the price of ERG. Any remaining related issues will be solved with the introduction of verified artists to the AH (soon).
V1 auctions will be available on https://v1.ergoauctions.org/.
There are a lot more that can and should be done for the AH to be truly competitive with any other AH on other blockchains and I am aware of them. The next round of changes will focus more on fancier features that other auction houses like Opensea offer and it begins right after the release of V2.
Also, if you are an artist, you should read this https://www.ergoforum.org/t/artist-guideline/2929.
Last but not least, I’d like to thank @Zimulakra, @quokka, @Foeniculum_ERGnomes, @glasgowm, and others for helping with the testing of AH V2.
As many of you are most likely aware, ErgoDEX rolled out their Ui this week. Ilya and team are committed to pushing boundaries, this is the first Dex on extended UTXO. Keep in mind this is a V1 which offers basic functionality. It is a starting point.
The ErgoDEX team has put together an impressive roadmap. The features, functionality, and user experience are only going to improve from this point forward.
The latest roadmap update is concerning concentrated liquidity pools. Ilya felt that this feature adds more value to traders than building an order book on top standard swaps.
The ErgoDEX team is also working with Emurgo to update the Yoroi so ErgoDex has native support, which eliminates the need for Yoroi Nightly.
As many of you are aware the Ergo Foundation has brought on a new strategic advisor, Dan Friedman. Dan has been in the industry a long time, he is both well connected in the space and brings a lot of hard earned experience.
I am quite excited to work with him to establish long term goals that will drive growth in marketing, market access and use of our network.
Weekly Development Update
Morphic is putting together documentation to assist the community to understand the performance difference between compilers. JIT vs AOT script costing has been in testing for months. The performance metrics of JIT costing (v5.0) are pretty impressive.
“JIT costing is much more accurate in estimating execution time. You can reliably and predictably increase maxBlockCost and be sure that actual block validation time is within time limit.
At the same time JIT estimation is not over pessimistic like the current model, so cheap transactions are estimated properly and thus more transactions can be put in the block.
With AOT estimation we need to be pessimistic, because accuracy is bad. A lot of blocks are estimated 70x higher than the actual cost, where as with JIT the cost prediction error is only up to 30%, and that is because scripts validation itself is less than 50% of block validation time.”
This upgrade is not backwards breaking (Hard Fork) but is a significant soft fork. You can compare it to the initial Bitcoin SegWit proposal.
This will essentially turn older node versions into SPV clients (Simplified Payment Verification) vs a full node. SPV wallets don’t check the rules and ultimately sync transactions with the longest chain headers.
If approved in the future we will actively encourage everyone to update their nodes.
— addressing new review comments on [a PR towards v5.0](https://github.com/ScorexFoundation/sigmastate-interpreter/pull/738)
— did some reviews in scrypto lib and anroid-wallet
— describe difference between JIT and the current AOT script costing
— implement full test coverage of new JIT costing (towards v5.0)
Speaking of SPV clients… NiPoPoWs represent a path to ultralight/stateless clients.
NiPoPoWs further build on the SPV model, they don’t check the rules and sync transactions with the longest chain header of superblocks, allowing even less data to verify.
Many will see that Ergo is Proof of Work and wonder what the competitive benefit this brings in an industry that appears to me pivoting to Proof of Stake.
The most obvious benefit to PoW is that it is simpler/better for light clients. Which can prove chain facts not only in environments with limited hardware capacity, but also is optimal in areas with low connectivity.
One area of significant long term interest/research is the benefits NiPoPoWs can offer to sidechain data. This is one aspect Kusthi has in mind when saying that Ergo has a path to be the PoW king of sidechains.
greenhat (Team SigmaRust)
— `@venoox` made empty BoxSelection::boxes not representable in type system #471
— `@soysor` made flatMap allowed ops check in lambda body #472
— `@sandz` is busy implementing distributed signatures support #470
— `@TimL` is busy implementing C and swift(iOS) bindings for ergo-lib #468
I wrapped up and merge AtLeast implementation leaving out Galois fields and reduction (bounty issues) #377. Besides that, I’m exploring and planning SPV node implementation.
I’ll probably ask questions about NiPoPoWs. I’m in the initial research phase so far. I’m figuring out how to implement a p2p networking layer so that it’d feel native on all designated platforms (iOS/Android/browser).
Kushti as usual is creating improvements all over the roadmap with long term goals in mind.
Scrypto tree improvements are a step towards bootstrapping with UTXO step snapshots. This will create some major improvements with node sync times.
He is gaining ground for future improvements in NiPoPoW proofs.
DEXY planning/development has started, he is working with Scalahub on the initial contract review.
We have ongoing research into a variety of L2 solutions that are compatible with Ergo. It looks like next on his list is reviews for Oracle Pools V2, ErgoFund, and the Profit sharing contract.
— [fix](https://github.com/ergoplatform/ergo/pull/1488) for change address corresponding to rood key (not first derived key) in 4.0.13+
— testing 4.0.16, one seed node is on it. [Please test also!](https://github.com/ergoplatform/ergo/pull/1474)
— fixing issues and [adding verification for sliced AVL+ trees](https://github.com/input-output-hk/scrypto/pull/88), [one issue found today left](https://github.com/input-output-hk/scrypto/issues/89)
— with fixed implementation of sliced trees, working further towards bootstrapping with UTXO set snapshot
— small PRs for scrypto and sigma (both merged): [scrypto/pull/87](https://github.com/input-output-hk/scrypto/pull/87) and [sigmastate-interpreter/pull/746](https://github.com/ScorexFoundation/sigmastate-interpreter/pull/746)
— reviewed: [sigmastate-interpreter/pull/738](https://github.com/ScorexFoundation/sigmastate-interpreter/pull/738), [scrypto/pull/85](https://github.com/input-output-hk/scrypto/pull/85) (provides ground for improvements in NiPoPoW proofs) , [eips/pull/43](https://github.com/ergoplatform/eips/pull/43), [eips/pull/39](https://github.com/ergoplatform/eips/pull/39), [token-minter app](https://github.com/ergoplatform/ergoscript-by-example/pull/13),
— Discussed DexyUSD contracts with @scalahub , reviewed initial version of emission contract
— studying different plasma / state channels / rollups designs
Next in reviewing: ErgoFund EIP by @code_For_Uss , Oracle Pools 2.0 EIP final version by @scalahub , profit sharing contracts by @mhs_sam
I hope Scalahub enjoyed his vacation. People ask who is this Scalahub/Amitabh? The truth is he is one of Ergo’s biggest aspects. He is working on Dexy designs, and has been working with other devs who could be a potential Oracle pools partner.
Not much update since last week as I was on vacation…Mostly I’ve been working on:
— Dexy liquidity pool contract (going to push initial version for review by tomorrow)
— Oracle pool integration with a partner (in discussion)
Ergo had the first memtable increase on AutoLykos 2 this week. This adjustment is scheduled periodically to shake up FGPAs and potential ASIC mining threats. MHS made sure the stratum software and mining pools kept in sync.
Raffle got a new Ui delivered, there are some minor improvements and optimizations being ironed out, hopefully we see this next week.
The gravity bridge is a bit out of his hands atm. The gravity team needs to do a few things on their side, but that is in progress currently.
Ongoing research is going into trusted, trustless, and multisig bridges. Susy2 and wormhole seem to be the best path forward, but let’s see.
— Stratum server and miners are updated regarding N increase
— Raffle UI is delivered and a few final work is needed on our side. Next week we release the raffle. Beside the UI, some contract improvement and bug fixes is done.
— We found a bug (not very serious and not exploited yet) in the token issuance. It is under private review for analysis and fix. To be published after the fix.
— On gravity, we are still pushing the gravity team to help with required testbed, since the code is done and a final test is remaining. I think in a few days we will finish the final test.
— susy2 and wormhole research is ongoing.
Team Minotaur is charging ahead with their wallet. It currently looks like the alpha version will be around in a month. Can’t wait to see it.
The Minotaur wallet team from ERGOHACK ii is working away at their cross-platform wallet.
I’m working on mobile wallet for ergo, maybe I will release alpha version next month
Lado continues to fire out the videos and is also working on a native app for iOS! I say this every week, but if you are new to Ergo please check out Lado’s tutorials. www.ErgoTutorials.com
— [Instalar a extensão Yoroi e criar uma carteira (PT-BR)](https://www.youtube.com/watch?v=Zr-ZpKbKzwo)
— [El Manifiesto de Ergo (ES)](https://www.youtube.com/watch?v=xcgZ1d3DF74)
[Working in a native app for iOS with various tools.](https://twitter.com/LadoPixel/status/1457619813208141824?s=20)
ErgoFund is progressing nicely.
On Ergofund backend, I created pull request — [pull/3](https://github.com/ergoplatform/ergofund/pull/3). `@code_For_Uss` `@kushti` Please review. Sorry it is big. Mostly configurations and common scripts.
— Base project structure.
— Added an API endpoint for getting campaigns: /campaigns.
Added a job scheduler to get data from scanner. One more commit to work properly though.
— Configured ORM and added a table for campaigns to store information.
— Filed two more issues on the project: [ergofund/issues/4](https://github.com/ergoplatform/ergofund/issues/4) & [ergofund/issues/5](https://github.com/ergoplatform/ergofund/issues/5).
Apextheory is helping Kushti improve Scrypto.
This week I worked on Scrypto project:
Batch Merkle Proofs were completed and [merged](https://github.com/input-output-hk/scrypto/pull/85)
I am wrapping up the Serializer/Deserializer for the above.
MrStalhfelge is working on the iOS implementation of the Android wallet. That seems to be coming together quite nicely.
Wow lots of mobile apps now! For my port of the Android wallet to ios, I wired my work of the last weeks together so restoring a wallet now saves it to the app db and fetching the balance works. Next up for the very first version to release: receive screen, send screen and settings.
Also I want to remind again to take a look at the token verification EIP since we have a lot of tokens popping up. Idea is to have this as a service on explorer.
Luivatra is putting together tipbots on Discord, Reddit, and one is planned on twitter. The Discord tipbot is doing well, the Reddit version launched testing recently. I tried to tip Luivatra for his amazing work, but the only thing that was received was a message that my tipbot on Telegram was empty. How embarrassing. Looks like I need to reload.
He is also working on a deployment solution for the ErgoDEX off-chain bots.
Deployed the tip bot on Discord.
— Support multiple tips per block
— Supports a curated list of tokens to tip (would be nice to be able to use [eips/pull/38](https://github.com/ergoplatform/eips/pull/38))
— Seperated backend from the bot logic, so implementing other platforms will be relatively easy
— Bot account for Reddit had an issue with PM’ing people but it was resolved by making the bot a mod on /r/ergonauts so work on the Reddit Tip bot is in full swing
[Worked on a deployment solution + guide for the ergodex off-chain bots](https://github.com/ergolabs/ergo-dex-backend/pull/19)
> I prepared a new eip for ErgoFund with playground example and it is ready to review https://github.com/ergoplatform/eips/pull/44.
Ilya’s work this week with the ErgoDEX was covered at the beginning. He somehow also managed to put together an Explorer Update.
— Ergo Explorer support
— [explorer-backend/pull/161](https://github.com/ergoplatform/explorer-backend/pull/161) (fixes invalid API schema generation)
— Preparation/bugfix of ErgoDex UI
— Working on ErgoDEX JS SDK for Cardano
Ergo-node network layer implementation in Rust?! Awesome
— Concerning ergo-node network layer implementation in Rust — no new updates, researching current implementation. Will focus on this task mostly on weekends.
ErgoToken Minter.. Check it out http://tokenminter.ergo.ga
I worked on the Ergo Token Minter to create tokens directly from Yoroi dApp connector.
It is available at [tokenminter.ergo.ga](http://tokenminter.ergo.ga/), distributed as a static web page.
The code is published on [git](https://github.com/ThierryM1212/ergo-token-minter)
I’m currently trying to add a Burner page, to clean up my tokenizer test wallet