OK thanks you. I will check it

Le mar. 5 mars 2024 à 19:57, kolapo goodness <[email protected]> a
écrit :

> 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
> <https://groups.google.com/d/msgid/django-users/CAEtv5eLAv-q-gdXF58Zfu0TBGSzqo2KMHBVh3AKO0n%3DpAqVpHg%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/CACiPtiJ2%3D6EbzMaYKkzZLcNU2O7C2BqESnnWLUbnNKGTsYYjqg%40mail.gmail.com.

Reply via email to