TransWikia.com

Declare custom structs

EOS.IO Asked by Jimmy Sullivan on August 20, 2021

I am trying to create a custom struct called Student in a contract. Where do I declare or define the struct? I tried to define it in the abi file, but the file was over written when I compile the contract.

struct Student {
uint id;
string content;
bool present;
}

One Answer

In traditional development defining structs depends a bit on the architecture of the software and certain conventions but I'll neglet this in this post.

To give you a simple eosio-sepcific answer:

  1. You don't declare structs in the Abi yourself, the eosio.cdt generates the Abi for you and includes the types that are needed to be included. (There are some special cases where it makes sense to manipulate the generated abi but you shouldn't care about that)
  2. You typically declare and define custom structs in one of your header-files (in your case you probably only have a single one).

Simply do:

    struct student_t { 
        uint id; 
        string content; 
        bool present; 
    }

somewhere at the top of your contractname.hpp (within or outside of the contract-class).

Answered by cmadh on August 20, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP