Post
Topic
Board Discussioni avanzate e sviluppo
Re: [Programmazione] Smart Contracts
by
Pinty87
on 22/04/2018, 14:35:18 UTC
Se ho capito bene qualcosa del genere:

Per la lista assumo che sia così:
Code:
mapping (address => bool) whiteList;

La funzione dove controlli se il chiamante è nella lista:
Code:
  function doSomething() {
        // recupera la lista whiteList dall altro smart contract
        
        if (whiteList[msg.sender] == false) throw;

        // fai qualcosa
    }

Se la funzione che chiami internamente al tuo contratto non apporta modifiche non dovrebbe costare niente chiamarla, comunque in generale il chiamante paga tutto il gas per le operazioni che vengono eseguite.

Per verificare il costo da javascript, quindi nella tua applicazione, c'è questo, in pratica simula l'esecuzione e ti dice quanto gas serve, comunque non ho ancora sperimentato:

https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethestimategas


Grazie Makkara, molto utile web3ethestimategas esattamente quello che cercavo.

Mi chiedevo cosa succede nel caso in cui si dovessero mandare al contratto meno o più' Ethereum del necessario... Grazie!