Lotto : Unstoppable Community Grant / dApp Staking Application

Sounds great and congrats! Look forward to seeing Lotto on Minato and see more participants on it.

1 Like

The rewards atm are from the dapp Staking right?
WIll you use the same rewards for the Lotto dAPp on Soneium?

Initial/current jackpot has been funded with our treasury.
5% of the dApp staking reward will be used to regularly grow the jackpot.

The dApp deployed on Astar Substrate and Soneium (and maybe Astar EVM) will share the same raffle, the same jackpot.

The users will be able to participate on the chain of their choice. It does not matter if they participate on Astar, Soneium or any chain else, they will participate in the same draw. Participations on all blockchains will count for the same draw and all will be eligible for the same jackpot.

3 Likes

Congratulations @GuiGou
It’s nice to see a familiar project on Minato and other networks!
There are no projects similar to the Lotto project and it fills a good gap.

1 Like

This is a great feature!
Being able to participate across multiple chains is groundbreaking.

1 Like

Nice to hear that , another good example of what we need to bring users on Astar. Any estimated date for Minato testnet ?

1 Like

Thanks for the info.
Great how you achieve the same reward for all blockchains.

1 Like

Hello Visaking,
There is no date for the time being. I will keep you informed here.

A first version of smart contract has already been deployed on Minato : Minato address details for 0x177b0b863b80Add7cC9824e9232a9a2dcbc7986a | Blockscout

We must update the UI and write the code to manage the communication/orchestration between smart contracts deployed on different chains.

2 Likes

Hello, for our first monthly report, here are the progress and completed steps between September 2th and October 22th (UCG started on September 25th).

So far, I have worked 22 FTE during this period and the following steps have been completed.

  1. POC on solidity: the same version of Lotto deployed on Astar has been implemented in Solidity and deployed on Minato (Soneium testnet).
    This way, I was able to validate the connection and communication between the smart contracts deployed on Minato and Phala testnet.
    I was also able to refine my knowledge of the Solidity language and the tools used to develop evm smart contracts.

  2. POC with subquery multi-chain indexer: I set up a subquery multi-chain indexer that reads data from different chains, Minato (Soneium testnet) and Shibuya (Astar testnet) in our case.
    In this way, I was able to validate that it was possible to read and aggregate data from multiple chains in the same indexer. An essential prerequisite for this project.

  3. I built the wasm smart contracts that manage and orchestrate the other contracts deployed on different chains (Astar Substrate, Astar EVM, Soneium, …).
    These two smart contracts, written in Rust + Ink!, are the centerpieces. A wasm smart contract is deployed on Astar Substrate. Another is deployed on Phala. Together, they orchestrate and synchronize other contracts deployed on any chain.
    A first version have been deployed and tested on Astar testnet and Phala testnet.

  4. I built the secondary smart contracts deployed on the other chains. These smart contracts register the user’s participation in the lottery.
    One version have been built in Rust + Ink!. This version have been deployed and tested on Astar Substrate.
    Another version have been built on Solidity. This version have been deployed and tested on Minato.

  5. All smart contracts are tested by unit tests and integration tests. Currently, the tests coverage is greater than 80%. The target is above 90%.

  6. We are participating in LFGM campaign.

Next steps:

  1. Demo with smart contracts deployed on Astar testnet, Phala testnet, Soneium testnet
  2. Finalize the subquery multi-chain indexer.
  3. Make the UI multi-chain.
  4. Remove the deprecated OpenBrush library from wasm smart contracts (unfortunately I couldn’t find a library to replace it) and migrate the contract from Ink! v4 to Ink! v5. To do this, I would have to update the crate (library) in the Phala’s github.
  5. Improve the way to use the VRF (Verifiable Random Function) to be sure there is no way to predict the future winning numbers even with advanced tools like Chopsticks.

Transversal steps:

  1. Documentation
  2. Promotion and testing campaign. We are participating in LFGM campaign. It’s our way of introducing Astar to Soneium users.
  3. Find additional funding.

Regarding the rewards (24 008 ASTR), they are held in this wallet (Yqsi4q2qYPHhujTNqceFq5KpF6bbptHzh8U9BkVjvae6XQE) and will be used as described above when a first version will be deployed on the mainnet.

Some numbers about Lotto deployed on Astar Native.
So far 14 draws have taken place. There was 9542 participations for 916 different addresses.

7 Likes

Thank you for the detailed report!

1 Like

Thank You for the really well described and detailed report :grin:

1 Like

Great report, thanks for the update. Looking forward to win some $ASTR :D.

1 Like

Very good report GuiGou, thanks for the transparency and for the consistency in what you say

1 Like

Great work! Deployments across different testnets aggregated cross-chain verified. Nice to see WASM and Solidity development of contracts with intense testing. Look at this demo piecing together with a multi-chain UI. Ensuring randomness is secure with VRF and being part of the LFGM campaign are some smart things you do. Well done!

1 Like

Great progress! Thanks for the report!

1 Like

Interesting project, reaching over 80% in test coverage shows real commitment.

Looking forward to the upcoming repports.

1 Like

Thank you very much for the report. The information is quite detailed, and I think this will really help readers understand the topic better.

On the flip side, in terms of expectations and numerical targets for the target audience, what goals does the team have? =)

You’re one of the best at reporting. Thanks for the original work and the report!

1 Like

Thanks @GuiGou for sharing the report with maximum details. Just for my curiosity to understand the idea more, can you share at least the high level steps to tackle one of your next steps? :grinning:

I guess your question is about the VRF (Verifiable Random Function).
Currently, the smart contract uses the VRF provided by Phala Network to calculate the winning numbers. However, a tool such as Chopstisks is able to fork a blockchain, change entries in the blockchain to grant certain permissions or modify the behavior of contracts and also simulate the future behavior.
These are very powerful tools, great for developers but also amazing for hacker.
In the Lotto multi-chain version, I will use data coming from several blockchains to make the use of the VRF even more robust and protect the dApp from misuse of such tools. Even though there is always a risk of error, we can try to do everything to make the system as safe as possible.

2 Likes