0

If Decentralised Applications are immutable and can not be modified once deployed then how we can implement large projects like Instagram, Facebook, Amazon using blockchain technologies using Agile type of development strategies. Because we deploy those type of applications incrementally. Please clarify my doubt. Thanks.

2 Answers 2

2

The smart contract deployed to the blockchain is immutable, yes, but they can be built in a way to allow for upgradeability of business logic. You can add new features or update the existing ones by deploying new smart contracts. There are multiple approaches on how to do that, most notably the Diamond standart and the proxy-upgrade pattern.

You can read more about the Diamond standard (also known as ERC 2535) here: https://eips.ethereum.org/EIPS/eip-2535.

You can also learn more about the proxy-upgrade pattern here: https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies

The more pressing concerns when talking about projects that big is the data. Storage is expensive and the dApps have to be designed in a way to preserve as much space as possible. For this reason, images are often stored on other decentralised services (like IPFS) or in a centralised ways (on servers).

2
  • 1
    Got it. Thanks for the quick response. :-) Jul 11, 2022 at 21:30
  • 1
    Yes, EIP-2535 Diamonds, also known as the Diamond Standard is the way to go for agile development of smart contracts. It enables smart contract development to be unhindered by the 24kb smart contract limit, and enables code reusabliity, and modularity.
    – mudgen
    Jul 12, 2022 at 13:04
0

I am hoping this link will answer your question:

https://santexgroup.com/blog/is-it-possible-to-upgrade-a-smart-contract-once-deployed/

In layman terms, you can have parts of your smart contract code set to 'changeable' at a later time by a specific account address (usually the owner of the project). However, since the smart contract is visible to everyone after deployment on the main-net, if you set any major part of your project to 'changeable', then people can see that you have an intent to change your products functionality in the future which results in trust issues.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.