Solidity 在地址中存储结构数据

Solidity storing struct data in an address

我想允许在区块链上注册 类。就像 eventbrite 一样。钱包应该可以访问 类 的数组。我不确定如何构造这些数据,但这是我尝试过的。

pragma solidity ^0.4.2;

contract SimpleStorage {
  mapping(address => EventClass[]) class_event; 

  struct EventClass {
      uint start_time;
      string title;
      string first_name;
      string last_name;
  }

  function registerTicket(){
    class_event[msg.sender][0].first_name = "Alain";
  }
}

这里我有一个映射到地址的结构数组。但是,此代码已损坏。我的逻辑有什么问题。

明白了,更像这样

pragma solidity ^0.4.2;

contract SimpleStorage {
  mapping(address => Pass[]) passes; 

  struct Pass {
      string first_name;
      string last_name;
  }

  function submitPass(){
      passes[msg.sender].push(Pass({
          first_name: "Alain",
          last_name: "Goldman"
      }));
  }

  function whatsInFirst() returns(string){
      return passes[msg.sender][1].first_name;
  }
}