Questions tagged [multi-index]

Questions related to Multi-Indexes for Smart Contracts Tables

Filter by
Sorted by
Tagged with
0 votes
1 answer
54 views

Iterating a table by primary key greater than x and secondary key == y

How does one go about iterating a table for the next largest primary key in a table that also has a specific secondary value? Values to iterate with: uint64_t last_key_known == 1652645054; name ...
user avatar
  • 19
0 votes
1 answer
46 views

Index - Constructor for must explicitly initialize the member which does not have a default constructor

I try to create two tables and mult_index, I received an error on output. header file #include <eosio/eosio.hpp> #include <eosio/asset.hpp> using namespace eosio; CONTRACT game : public ...
user avatar
0 votes
0 answers
12 views

Table values write correctly but fails to read values, possible serialize error

I'm trying to write a contract that has a table with few vectors, even tho it seems to be writing all the values correctly it fails to read the values back. The structs and tables are bellow: struct ...
user avatar
  • 101
0 votes
0 answers
25 views

Using std::map inside multi-index

I was thinking on good practices when creating the persistence using the multi-index API, more specifically regarding future updates to the table model (ie. adding new members to the struct). All the ...
user avatar
0 votes
0 answers
15 views

How to derive a uint from a string to use it as key/index in eosio table

I want to store json key-value pairs in an eosio table. The keys in the json are unique and that's why it would be perfect to use them as primary_key or secondary_id for querying the table later. The ...
user avatar
  • 111
0 votes
2 answers
165 views

How to listen/get on-chain data in real time

I know that I can use eosjs to read/query multi_index table data from the chain. However, my goal is to listen to/on these changes. Specifically, I want to receive a notification whenever something ...
user avatar
  • 111
0 votes
1 answer
43 views

How can I remove a corrupted multiindex table from RAM

Ok, so I made a beginner coding error in a token contract, mis-typing the return value from get without & (yes, I now see the Warning in the docs at https://developers.eos.io/manuals/eosio.cdt/...
user avatar
  • 11
0 votes
1 answer
31 views

can avaliable_primary_key() re-utilize deleted smaller primary_keys?

"table_name.available_primary_key()," is 'auto incrementing'. Is available_primary_key able to re-use previously deleted primary keys and re-utilize them? eg. assuming some random ...
user avatar
  • 19
0 votes
1 answer
65 views

Traverse multi-index table through non-primary value and delete the record

Below is my smart contract: #include <eosio/eosio.hpp> #include <eosio/print.hpp> #include <eosio/system.hpp> #include <string> using namespace eosio; using std::string; ...
user avatar
  • 293
0 votes
1 answer
28 views

How user data stored on the eos blockchain is compliant with regulations?

I am exploring the eosio software, I was impressed with the ability of eosio of saving user data in a multi index table. While this property is technically really interesting I am trying to find use ...
user avatar
  • 1
1 vote
1 answer
93 views

How to access data inside multi-index table when using 2D vector / 2D array?

What is going on? :D I write data, but cannot find it after I write it. The following code successfully emplaces the row into the multi-index table: See specifically the vector<vector <...
user avatar
0 votes
1 answer
54 views

EOSJS get information about a list of the multi-index table rows

Suppose that I have a user table, where each user has a status. TABLE user_info { name username; uint64_t status = 0; auto primary_key() const { return username.value; } }; ...
user avatar
1 vote
1 answer
88 views

nested stuff inside index_table

I'm trying to build a small hearthstone like game and I've finished up the front-end for the game client. I created a NoSQL mockup of the user data and now it's time to move those to the index_table ...
user avatar
0 votes
1 answer
62 views

EOSIO unsupported key_type uint64_t

I am using a secondary key to get table rows: static async getItemById(itemId){ try{ const rpc = new JsonRpc(process.env.REACT_APP_EOS_HTTP_ENDPOINT); const result = await rpc....
user avatar
0 votes
1 answer
44 views

eoslime test not saving data in table

This is my first experience with eoslime as I want to do unit testing for smart contracts. Not much experienced with nodejs .I am following eoslime documentation: https://docs.eoslime.limechain.tech/...
user avatar
  • 293
0 votes
2 answers
148 views

how to define a vector with fixed size?

I want to define a vector of strings with a fixed size 3 in the multi-index table of smart contract. I search and tried different ways which I found for CPP vector like: std::vector<string> abc(...
user avatar
  • 293
0 votes
0 answers
85 views

How to set vector type field as a secondary index in smart contract?

I want to set a group vector as a secondary index in the user smart contract. group is the list of groups. Following is the changes I am doing: struct [[eosio::table]] usertable { ...
user avatar
  • 293
0 votes
1 answer
270 views

Multiple smart contracts with single account

I have three smart contracts (A, B, C) and one account (X). As the requirement is I just need only one authority (administrator) who is going to manage all these smart contracts data. So I deployed ...
user avatar
  • 293
0 votes
1 answer
177 views

How do I lookup multiple entries by same secondary indices with more than limit entries?

I have a table with a lot of entries. I want to iterate through all the rows by the same secondary index on multiple pages. TABLE post { uint64_t id; name author; string text;...
user avatar
0 votes
1 answer
102 views

Is it possible to add a secondary index to a table that already exists and contains entries?

If a table already exists in a smart contract on-chain and the table is full of entries, is it possible to make a secondary index for that table? Or would you have to create a new table and migrate ...
user avatar
0 votes
1 answer
91 views

Is there way to retrieve auto incremented primary key after submission of transaction?

I'm working on sample dApp application to understand the working of multi_index table in EOS smart contract. I have defined two multi_index table. The primary key of table1 is auto incremented using "...
user avatar
  • 1
0 votes
2 answers
210 views

Use UUID as primary key in multi_index

How can I use a uuid as the primary. struct [[eosio::table]] blackboxdata { name user; std::string uuid; std::string hash; std::string sqlrequest; uint64_t ...
user avatar
  • 15
0 votes
1 answer
100 views

Is it possible to see the RAM delta of a multi_index table operation, or see who is currently paying for a row in a table

My question is in the context of smart contract development, so I'm looking for solutions that work within smart contracts: 1st: Is is possible to see the RAM delta of either an individual ...
user avatar
0 votes
1 answer
108 views

Of what type is the return value of get_index?

Every single example out there that shows how to use a secondary index in the EOSIO platform, including the scant documentation on the function found here: https://eosio.github.io/eosio.cdt/latest/...
user avatar
  • 495
0 votes
1 answer
161 views

How to retrieve filtered multi-index table data?

I have a smart contract that has a multi-index table called reservations - account, time, date, entity. From the code I am trying to use get_table_rows to get all reservations related to a given ...
user avatar
0 votes
0 answers
43 views

Code abstraction

I need a little guidance. I've been structuring my code like this: #include <eosio/eosio.hpp> class [[eosio::contract("table")]] Square { private: struct [[eosio::table]] square { ...
user avatar
  • 495
0 votes
1 answer
2k views

call to implicitly-deleted copy constructor

I'm unable to compile a small test contract and am hoping for guidance. I have a class called Account, in the following 2 files: // --- account.hpp #pragma once #include <string> #include &...
user avatar
  • 495
0 votes
1 answer
26 views

Why I didn't initialize database?

I want to add the my multi_index in controller db. And Finally Adding all class is set up. But When eos program initialize the database, it didn't work. my error log : /eos/libraries/chainbase/...
user avatar
  • 78
0 votes
1 answer
490 views

How can we retrieve table data with secondary Index in EOS table

this is my table struct [[eosio::table]] payment_made { uint64_t pay_id; uint64_t loan_id; uint64_t pay_amunt; time_point_sec pay_date_req; time_point_sec pay_date_approve; ...
user avatar
0 votes
1 answer
72 views

Multi index table asks an unusual permission to emplace new row

Problem I'm trying to emplace a new row in a multi-index table, but it tells me that I don't have the authotity of the row key name to do it. Code Multi-index table definition struct [[eosio::...
user avatar
0 votes
1 answer
471 views

How to upgrade a multi_index table in a smart contract

I have initially the following multi_index table: struct [[eosio::table]] plastict { uint64_t id; uint64_t type; uint64_t primary_key() const { return id; } }; typedef eosio::multi_index&...
user avatar
  • 11
0 votes
2 answers
550 views

How to loop a multi_index table in a smart contract

I have very simple table items with the following structure: struct [[eosio::table]] item { uint64_t id; uint64_t state; string description; uint64_t primary_key() ...
user avatar
  • 11
0 votes
1 answer
115 views

How do I access (sha256) / sort (i128) a secondary/tertiary indices with cleos / curl?

I'm trying to access either of our additional indices of the accountext table. I'm able to access the 3rd index but I'm not sure how to sort it, the second index returns an empty table: // this I ...
user avatar
  • 3,405
1 vote
1 answer
77 views

Unable to make use of secondary index in multi-index table

I am trying to add secondary index to my table so I can use it to query for elements based on it. My struct looks like this: struct [[eosio::table]] user { name userAccount; // user ...
user avatar
1 vote
2 answers
189 views

How do I return an iterator?

I have a multi-index defined such that I can do: <type?> test() { myTable t(_self, _self.value); auto r = t.find(...); return r; } but how do I return the iterator? what is the ...
user avatar
  • 495
1 vote
0 answers
45 views

Fetching More Table Rows via RPC

I have a contract with a table in it. I'm querying the contents of the table using the RPC interface, but I'm having trouble getting all the rows. To limit the memory usage of my application, I'm ...
user avatar
  • 1,824
2 votes
1 answer
414 views

What is the meaning of "scope" in a Smart Contract?

Since I have read the tutorial. I don't understanding the following: Note that scopes are used to logically separate tables within a multi-index (see the eosio.token contract multi-index for an ...
user avatar
  • 78
2 votes
1 answer
557 views

How to create composite primary key?

I have a table of prices where I want to store 2 prices per cross defined like this: struct [[eosio::table]] _prices { symbol base; symbol quote; float value = 0.0; uint128_t ...
user avatar
  • 495
0 votes
1 answer
215 views

How do you define uuid indexes in contract tables?

I would get table entries by uuid. how can I convert string format 16cadf15-dda7-4be2-8026-c3c7875322d0 to an indexable eosio type ( uint64_t, uint128_t, uint256_t, double or long double). Or even ...
user avatar
4 votes
2 answers
749 views

Get Table Rows with Pagination

How do we get records from a table by pages? My requirement: I have a table with 100 records and want to display all these records in my front-end-application with 10 records per page and if the user ...
user avatar
  • 41
1 vote
1 answer
191 views

Retrieve data from multi index table

I found that it is possible to define up to 16 secondary indices for a multi index table. Is it possible to return data from the table using these secondary key? I have a table like, result is set as ...
user avatar
  • 510
0 votes
1 answer
43 views

How is memory aligned in the EOSIO smart contract consensus memory?

Are there any memory savings if I declare a table record that has, say, a 64-bit integer (occupies 8 bytes) and a 16-bit integer (occupies 2 bytes)? Or is it aligned at 64 bits and said record would ...
user avatar
0 votes
1 answer
48 views

why i get "uniqueness constraint was violated" on error on empty table?

i defined a table but i made a mistake putting the fields in wrong order within EOSLIB_SERIALIZE EOSLIB_SERIALIZE( tablename,(field1)(field4)(field3)(field2)); i did some insertions with emplace ...
user avatar
1 vote
2 answers
69 views

Contract won't keep index count inside index table

Attempting to keep track of an index for future use as an index in another container. uint64_t namehash = ::eosio::string_to_uint64_t(my_name.c_str()); auto name_iter = ...
user avatar
  • 23
6 votes
2 answers
1k views

How to use checksum256 secondary index to get table rows

Does anyone know the correct way to get table rows using checksum256 (fixed_bytes<32>) secondary index through the get_table_rows RPC API? I found a way using key256, but key256 is deprecated ...
user avatar
2 votes
1 answer
225 views

Search multi_index by nonprimary key

#include <eosiolib/eosio.hpp> using namespace eosio; class [[eosio::contract("addressbook")]] addressbook : public eosio::contract { public: using contract::contract; addressbook(name ...
user avatar
0 votes
2 answers
210 views

Multi_index issues

I'm getting a lot of errors related to multi_index after updating to the newest eosio.cdt. Here is part of my code related to hash. struct st_hash { capi_checksum256 hash; uint64_t expiration; ...
user avatar
  • 121
0 votes
0 answers
34 views

why it prints only one "record/row"?

I created a table with 5 rows/records. I tried to print the whole table content with the following code: require_auth(_self); accounts_table accounts(_self, _self.value); for(auto itr = accounts....
user avatar
1 vote
2 answers
268 views

Is there a way to query table with the value of a particular data field

Is there a way to query table with the value of a particular data field (for example, a token value) when using 'get_table rpc'? Only users whose token value is greater than 30 are output.
user avatar
  • 23
1 vote
0 answers
43 views

cannot get latest state of table after modifying table in inline action

As shown with code below, I modify table in an inline action, and then want to get the latest data. But the data I get is not the latest. Why? void mycontract::myfunc() { action ( ...
user avatar