neo-project / neo

NEO Smart Economy
MIT License
3.47k stars 1.03k forks source link

Increase Faucet GAS distribution #2965

Open lock9 opened 1 year ago

lock9 commented 1 year ago

Summary or problem description We need to facilitate testnet deployments. This will help integration and testing with other Apps that support testnet (neofs, wallets, etc). The existing faucet offers users 50 GAS. This amount is enough to deploy the contract only 4 times.

Do you have any solution you want to propose? ~Reduce the GAS required to deploy smart contracts on Testnet to 1 GAS.~* Increase the amount given by the faucet

*Not a good idea since we want to keep testnet and mainnet using the same value for fees.

Neo Version

Where in the software does this update apply to?

cschuchardt88 commented 1 year ago

I think it would be easier to just increase the reward to 1000 GAS and keep it at 50 NEO

Jim8y commented 1 year ago

@steven1227

lock9 commented 1 year ago

I think it would be easier to just increase the reward to 1000 GAS and keep it at 50 NEO

The problem is that we can't generate GAS if we have to. Also, the deployment fee can be easily changed using the existing governance system.

roman-khimov commented 1 year ago

Against. Faucet can give you GAS every day (maybe can be tuned to 100 GAS, but it's a separate matter) and contract updates (new deployments are not needed in many cases) do not require this much GAS. Symmetric mainnet/testnet configuration is a bit easier for people to handle.

cschuchardt88 commented 1 year ago

@lock9 I mean for the faucet, like @roman-khimov said. Big projects may require more than 10 deploys of different contracts. That's why I said 1000 GAS, So that way they can also send gas to various multi-sig address or contracts for testing.

Jim8y commented 1 year ago

@lock9 I mean for the faucet, like @roman-khimov said. Big projects may require more than 10 deploys of different contracts. That's why I said 1000 GAS, So that way they can also send gas to various multi-sig address or contracts for testing.

For projects that require more GAS, i think they can send email to ngd asking (apply) for that.

lock9 commented 1 year ago

Symmetric mainnet/testnet configuration is a bit easier for people to handle

I agree. However, neo-express default setup is already different from the mainnet and testnet. Developers need to deal with that all the time. Maybe we can make neo-express use the same fees instead.

contract updates (new deployments are not needed in many cases) do not require this much GAS.

The problem here is that developers usually don't use the update feature:

Screenshot 2023-11-13 at 12 35 52

All of these are the same contract/developer:

Screenshot 2023-11-13 at 12 36 42

What else can we do to allow them to deploy these contracts? One option is to try to educate them to use the update feature. We are doing this on the extension but it will likely be better if we had a more holistic approach.

One option, but much more time consuming, would be to create some sort of service that deploys contracts on behalf of the user. Like using GAS bot or something

Another idea is Increase the faucet value if that address owns 1 NEO or 1 GAS on mainnet.

Jim8y commented 1 year ago

I think faucet can be changed to 1000 right? Won't hurt since it's testnet. @steven1227

lock9 commented 1 year ago

Against. Faucet can give you GAS every day (maybe can be tuned to 100 GAS, but it's a separate matter) and contract updates (new deployments are not needed in many cases) do not require this much GAS. Symmetric mainnet/testnet configuration is a bit easier for people to handle.

You are right. I've updated the proposed solution.

shargon commented 1 year ago

I prefer to send 100 NEO and 100 GAS, if they vote, they can get more gas, and they will start voting.

lock9 commented 1 year ago

I just saw this on Discord:

Screenshot 2023-11-14 at 11 37 10

We need to facilitate Testnet GAS access ASAP. It's a major blocker for many users.

cschuchardt88 commented 1 year ago

@Liaojinghui For projects that require more GAS, i think they can send email to ngd asking (apply) for that.

https://neo.org/testcoin/apply

Jim8y commented 1 year ago

@Liaojinghui For projects that require more GAS, i think they can send email to ngd asking (apply) for that.

https://neo.org/testcoin/apply

Well, @cschuchardt88 I am not suprised neo has this webpage, i am suprised that you can find this webpage. I could not find the entry point in the neo website.

steven1227 commented 1 year ago

I think faucet can be changed to 1000 right? Won't hurt since it's testnet. @steven1227

I can adjust the faucet with no problem. But for development, I use local env more than testnet. I do not know what scenario that user has to deploy contracts 10 times a day.

roman-khimov commented 1 year ago

Keep in mind that testnet is a public network as well. GAS controls resources of this network. Giving out too much GAS can increase risks of network abuse. Yeah, it's a testnet, but we're usually not very excited when it breaks.

Jim8y commented 1 year ago

Keep in mind that testnet is a public network as well. GAS controls resources of this network. Giving out too much GAS can increase risks of network abuse. Yeah, it's a testnet, but we're usually not very excited when it breaks.

For this, I can not agree, blockchain is supposed to be used by people, if we have to worry about network abuse, how could we find issues in the network.I would say, Ok, go ahead and use the testnet however you want, if you break the testnet, very good, we find a problem, and we should be happy if they break the testnet, cause otherwise it breaks the mainnet.

lock9 commented 5 months ago

I can adjust the faucet with no problem. But for development, I use local env more than testnet. I do not know what scenario that user has to deploy contracts 10 times a day.

Sometimes, you need to deploy multiple contracts. The Flamingo team seems to deploy their contract multiple times a day. Also, 50 GAS allows you to deploy 4 contracts, not 5.