Bigmap poc and the possibility of using it in motoko

It became possible to legally create a big map canister (link
Releasing the source of the BigMap PoC demo)
As I understand it, this implementation will not be added to Motoko. The question is still how can you create such a canister in the Motoko code?

it is possible to have an already created canister with install bigmap_data.wasm and bigmap_search.wasm
For example through:

install_code : shared {
arg : [Nat 8];
wasm_module : wasm_module;
mode : { #reinstall; #upgrade; #install };
canister_id : canister_id;
} → async ();

It’s not easily possible at the moment.

Funnily enough, when we first added actor classes to Motoko, I suggested a more general design that would let you import foreign canister code (with a candid service interface) as well as Motoko actor class source code and install fresh canister instances as (typed) library calls, but we went for a Motoko only solution of supporting only Motoko actor classes for now.

Another uses spent some time creating a POC version of (something like) BigMap in plain Motoko, exploiting Motoko actor classes, in case you are curious:

1 Like


I have a similar variation in my project. I have seen this example. In fact, this is an array (list) actors. Which we sort out as necessary and get the right canister. I have one more question: if you create not from code, but let’s say from the server, can you automate this process? Let’s say in linux via the command line, write a bash script to call from the server with a command (that is, write code on the server) and eventually create such cans in auto mode? This is a general question, maybe someone has done similar things in other projects…

Apparently, there’s also this? A Motoko BigMap written by DFINITY engineers: