Wrong Way To Write an Upgradeable Proxy - Transparent Upgradeable Proxy - Part 1 | Solidity 0.8

Поделиться
HTML-код
  • Опубликовано: 9 ноя 2024

Комментарии • 23

  • @_sky_3123
    @_sky_3123 2 года назад +3

    Before watching the video, I already knew about the issues you were going to have with the BuggyProxy contract. But you explained it so simply that I still feel like I learned something. Thanks, really informative.

  • @smartcontractprogrammer
    @smartcontractprogrammer  2 года назад +1

    0:00 - Intro
    1:15 - Code proxy contract (wrong way)
    5:09 - Deploy the contracts
    8:19 - Summary
    Code
    solidity-by-example.org/app/upgradeable-proxy/
    OpenZeppelin Implementation
    github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/transparent/TransparentUpgradeableProxy.sol
    Take a course
    www.smartcontract.engineer/

  • @chenghung3407
    @chenghung3407 2 года назад

    can't wait to watch the upcoming video.😁

  • @solar2361
    @solar2361 2 года назад +1

    Thank you so much. I literally wanted to learn about this topic.

  • @meka4996
    @meka4996 Год назад

    Amazing! Thanks

  • @web3escola
    @web3escola 2 года назад +1

    I learned a lot with your videos, thx! I just didn't understand why you need to implement the receive function since it will be called only when msg.data is empty.

  • @itsmaahi695
    @itsmaahi695 2 года назад

    I want to learn smart contract development.Thanku brother😘

  • @eugenionull9758
    @eugenionull9758 2 года назад

    Nice!

  • @itsmaahi695
    @itsmaahi695 2 года назад

    Love u bro

  • @farrukhodinaev2139
    @farrukhodinaev2139 Год назад

    Hi! I love your videos and am learning a lot from them. Can you explain if possible what is the purpose behind setting interface of CountV1 at the address of the proxy at 6:09?

  • @MrKampla
    @MrKampla 2 года назад

    Great content! Are you planning to make a video about diamond pattern?

  • @vitock1
    @vitock1 Год назад

    Hi :) Thanks for nice video!
    I am curious, doesn't it the Proxy keep the state, not the implementation contract? Actually, this is the benefit when just upgrading the implementation, you gonna still have the memory (data) from all the funds/transactions/etc. ?

    • @smartcontractprogrammer
      @smartcontractprogrammer  Год назад +1

      proxy keeps the state, implementation executes the code.
      Proxy is like the database that stores data.
      Implementation is like the web app that executes code

    • @vitock1
      @vitock1 Год назад

      @@smartcontractprogrammer yeah, that is what I know, but why then the admin and the implementation addresses are instantiated in the Counter V1 and V2? I thought that somehow the V1 and V2 add to the state of the Proxy somehow.
      However, it will most likely clear out when see the other parts of the proxies.

  • @MrCoreyTexas
    @MrCoreyTexas 4 месяца назад +1

    So I followed along with my remix, and ran inc and saw that the implementation address had 1 added to it. Then I ran inc a second time and expected it to go up by 1 again. It did not! I was boggled until I understood what's going on. There's no contract at that address + 1, so something is failing internally, even though the transaction seems to have gone through with no problem.

    • @n7esi
      @n7esi 10 дней назад

      I love this. Same case here😅

  • @clintonfelix
    @clintonfelix 2 года назад

    @Smartcontract Programmer, Can you pls show how to implement proxy algorithmic stablecoin

    • @smartcontractprogrammer
      @smartcontractprogrammer  2 года назад

      no that's too broad topic

    • @clintonfelix
      @clintonfelix 2 года назад

      @@smartcontractprogrammer okay. Thank you for your response.
      Please if you can kindly recommend Any material to point me in the right direction about how to go about it?
      I would deeply appreciate.

  • @dbsjaks_56888
    @dbsjaks_56888 2 года назад

    I know that maybe it's asking too much, but it would be perfect if you did tutorials on Substrate(Ink!), or CosmWasm in Rust in the future. I do not know in all RUclips or any site in general that explains things better than you