¿Cómo podemos obtener el estado anterior de un contrato?

Lo que tengo

  • Tengo mi cadena ehtereum privada ejecutándose en una instancia de AWS EC2.
  • Puedo implementar contratos en mi cadena privada.
  • Puedo llamar funciones de contrato inteligente.

Estoy usando trufa y reacciono.

pragma solidity ^0.4.15;
contract NDA {
bytes32  party1name;
bytes32  party2name;

function NDA(bytes32 _party1name) {
     party1name = _party1name;
}

function SetParty2(bytes32 _party2name) {
     party2name = _party2name;
}

function get() constant returns (bytes32, bytes32) {
    return (party1name, party2name);
}
}

El contrato anterior salva a las 2 partes involucradas en un contrato. Estoy planeando no hacer un nuevo contrato cada vez para 2 partes nuevas, sino usar el mismo contrato como plantilla y servirles de las transacciones que hacen cuando se contratan entre sí.

Para hacerlo, debería poder revisar la lista de transacciones de actualización de estado bajo esa dirección de contrato para el usuario especificado.

¿Cómo puedo viajar a un estado anterior de un contrato y recuperarlo?

Respuestas (1)

Agregaría una estructura como

struct Pair{ bytes32 party1name; bytes32 party2name; }

Y luego tenga una matriz o una asignación para almacenar estructuras anteriores. Puede tener una variable como Pair currentPairsi desea recuperar fácilmente la más reciente. No estoy seguro de lo que está preguntando exactamente, pero creo que esto, o alguna variante de esto, sería la mejor manera.