32/5000 Actualización de saldo en contrato

¿Cómo actualizo mi saldo en un contrato?

Creé una función que recibe como parámetro una dirección, puedo visualizar el saldo:

address.balance.

Pero quiero transferir el saldo a una cuenta y actualizar el valor, pero no puedo hacer:

address.balance = + value;

¿Qué debo hacer?

Respuestas (1)

Los saldos están a nivel de protocolo, son independientes de los contratos y no se puede asignar un saldo desde dentro de un contrato.

Hay más de una forma de hacerlo, pero la más común y segura es utilizar el .transfer()método que se adjunta a todas las variables de tipo dirección.

Para transferir de este contrato a otro lugar:

address somewhereElse = 0x123...
somewhereElse.send(amountInWei);

Desde otro lugar a este contrato, alguien tiene que enviarlo. Por ejemplo, desde su billetera hasta la dirección del contrato.

Su contrato necesita una payable"función alternativa" o rechazará los fondos.

function () payable {
  // we are here when someone else sends funds.
  // this provides an opportunity to emit an event.
  // address(this).balance will automatically += msg.value
}

Espero eso ayude.

Entonces no puedo manejar saldos de cuenta en el contrato? ¿Tengo que transferir los saldos al contrato y luego transferir a una cuenta específica? Mi idea era hacer un contrato que imitara un fondo de inversión, donde habría 3 cuentas, una para el fondo, otra para el cliente y otra para el comercio. En una fecha determinada se realizaría la prueba, si el saldo de la cuenta comercial hubiera aumentado o disminuido. Luego, el saldo se enviaría al cliente y al fondo. El único punto que no pude implementar fue transferir los saldos a las cuentas al final del contrato.
Esta es una buena pregunta que merece otra explicación y ejemplo. Sí, se puede hacer y sucede todo el tiempo. No así no. Si publica algo como "¿Cómo puedo crear un contrato para administrar los saldos de los clientes", le responderé más tarde hoy.
Creo que es mejor si cambias tu pregunta y título aclarando lo que te gustaría hacer para que más personas puedan ayudar.
Gracias por los consejos, acabo de conocer la plataforma. Déjame repetir la pregunta.