ok thanks you sir, As far as storage variables concerned, I want create many instances of a contrat in my web API, then I use Structs for most of variables, That why I use really locals variables in my functions. if you have resources on it, you recommend to me
Le mar. 5 mars 2024 à 18:08, kolapo goodness <[email protected]> a écrit : > evm (ethereum virtual machine) uses the stack data structure and the depth > is 1024 so if you get a stack too deep error you should check your solidity > code and can also implement some slot packing techniques. the main issue > comes from one or more of your functions where you're using a lot of > variables if you can reduce it by loading directly from storage instead of > local variables that can also solve the problem > > On Mon, Mar 4, 2024 at 11:46 PM Yao Marius SODOKIN < > [email protected]> wrote: > >> Hello dear all, >> I am developing a decentralized application; >> >> It implements smart contracts with solidity. each object represents a >> smart contract. So I wrote the Transaction, Project, User contracts. I want >> to deploy these contracts to a single address; and interact with them from >> my REST API developed in Django Rest Framework, using the web3.py library >> >> The problem I have is: >> 1-I wrote the code of the three contracts in a single contract, this >> contract is heavy and cannot be compiled >> 2- I finally wrote the contracts differently, deployed them to different >> addresses, and from another contract I want to interact with these >> contracts. This allows me to interact with a single contract from my API in >> order to call on others. The size of this contract is also too much and >> cannot be compiled. >> here is the error message: >> >> CompilerError: Stack too deep. Try compiling with `--via-ir` (cli) or the >> equivalent `viaIR: true` (standard JSON) while enabling the optimizer. >> Otherwise, try removing local variables. When compiling inline assembly: >> Variable headStart is 1 slot(s) too deep inside the stack. Stack too deep. >> Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` >> (standard JSON) while enabling the optimizer. Otherwise, try removing local >> variables. >> >> How to do ? or what alternative or means used? The objective is to >> interact with smart contracts deployed from my API in Django Rest Framework >> >> Thanks >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CACiPtiLzQnM9nH%3DiCYaggX4yM9i2kv2-i1dByZGwvDmE1RbkZw%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-users/CACiPtiLzQnM9nH%3DiCYaggX4yM9i2kv2-i1dByZGwvDmE1RbkZw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAEtv5e%2B%3Dcksv83F8b_RbgT8kfruGdN%2B6KiLz4JOLyP%3DeMKVVzg%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAEtv5e%2B%3Dcksv83F8b_RbgT8kfruGdN%2B6KiLz4JOLyP%3DeMKVVzg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACiPtiLZFyDEBTGiRmXkDQeM8xf_u_OqavSFwYXSKcg4X0%3DwDw%40mail.gmail.com.

