here is an article on managing the* *stack too deep* *error https://soliditydeveloper.com/stacktoodeep
here is also a stackexchange conversation related to it https://ethereum.stackexchange.com/questions/19587/how-to-fix-stack-too-deep-error On Tue, Mar 5, 2024 at 6:22 PM Yao Marius SODOKIN < [email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/django-users/CACiPtiLZFyDEBTGiRmXkDQeM8xf_u_OqavSFwYXSKcg4X0%3DwDw%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/CAEtv5eLAv-q-gdXF58Zfu0TBGSzqo2KMHBVh3AKO0n%3DpAqVpHg%40mail.gmail.com.

