En mi contrato, hay un tipo de estructura:
struct Claim{
address healthcareProvider;
uint amount;
bool patientSig;
bool paid;
uint item;
}
Y la función de inicialización es:
function MakeClaim(uint _amount, uint _item, uint num) {
Claim memory c;
c.healthcareProvider = tx.origin;
c.patientSig = false;
c.paid = false;
c.amount=_amount;
c.item=_item;
}
Cuando llamo a esta función para crear un nuevo tipo de reclamo, encuentro que el precio es 2.687 ETH (no gas). ¡Esto es mucho más que el costo de implementar todo el contrato! Lo estoy probando en la red de prueba de Morden. ¿Dónde está mi problema?
Como el almacén de datos de blockchain es un recurso escaso, es bastante caro. El almacenamiento de datos es la operación más costosa en cualquier contrato inteligente.
sstore 100 Paid for a normal SSTORE operation (doubled or waived sometimes).
Puede ver la lista completa: https://www.cryptocompare.com/coins/guides/what-is-the-gas-in-ethereum/
Entonces, si está utilizando estructuras complejas, el costo se multiplica.
daniel patricio
kanekidev
alper
kanekidev