diff --git a/reference/nim/proof_input/README.md b/reference/nim/proof_input/README.md index 9503c0f..6993228 100644 --- a/reference/nim/proof_input/README.md +++ b/reference/nim/proof_input/README.md @@ -13,19 +13,21 @@ use real data. $ ./cli [options] --output=proof_input.json --circom=proof_main.circom available options: + -h, --help : print this help + -v, --verbose : verbose output (print the actual parameters) -d, --depth = : maximum depth of the slot tree (eg. 32) -N, --maxslots = : maximum number of slots (eg. 256) - -c, --cellSize = : cell size in bytes (eg. 2048) - -b, --blockSize = : block size in bytes (eg. 65536) + -c, --cellsize = : cell size in bytes (eg. 2048) + -b, --blocksize = : block size in bytes (eg. 65536) -s, --nslots = : number of slots in the dataset (eg. 13) -n, --nsamples = : number of samples we prove (eg. 100) -e, --entropy = : external randomness (eg. 1234567) -S, --seed = : seed to generate the fake data (eg. 12345) - -f, --file = : slot data file + -f, --file = : slot data file, base name (eg. "slotdata" would mean "slotdata5.dat" for slot index = 5) -i, --index = : index of the slot (within the dataset) we prove -k, --log2ncells = : log2 of the number of cells inside this slot (eg. 10) -K, --ncells = : number of cells inside this slot (eg. 1024; must be a power of two) - -o, --output = : the JSON file into which we write the proof input + -o, --output = : the JSON file into which we write the proof input -C, --circom = : the circom main component to create with these parameters You can generate only the `.json` or only the `.circom` file, or both at the same @@ -33,3 +35,8 @@ time. There are some default values for all the rest of the parameters. +NOTE: When using actual files for the slot data (which is untested :), you will +need _all_ slots to be able to compute the dataset root. The convention used is +that you specify the base name of the file, say `"slotdata"`; and the individual +slots file names are derived from this to be for example `"slotdata5.dat"` for +the slot with index 5 (note: indexing starts from 0). \ No newline at end of file diff --git a/reference/nim/proof_input/src/cli.nim b/reference/nim/proof_input/src/cli.nim index f011314..313ea72 100644 --- a/reference/nim/proof_input/src/cli.nim +++ b/reference/nim/proof_input/src/cli.nim @@ -64,6 +64,8 @@ proc printHelp() = echo "$ ./cli [options] --output=proof_input.json --circom=proof_main.circom" echo "" echo "available options:" + echo " -h, --help : print this help" + echo " -v, --verbose : verbose output (print the actual parameters)" echo " -d, --depth = : maximum depth of the slot tree (eg. 32)" echo " -N, --maxslots = : maximum number of slots (eg. 256)" echo " -c, --cellsize = : cell size in bytes (eg. 2048)" @@ -72,7 +74,7 @@ proc printHelp() = echo " -n, --nsamples = : number of samples we prove (eg. 100)" echo " -e, --entropy = : external randomness (eg. 1234567)" echo " -S, --seed = : seed to generate the fake data (eg. 12345)" - echo " -f, --file = : slot data file" + echo " -f, --file = : slot data file, base name (eg. \"slotdata\" would mean \"slotdata5.dat\" for slot index = 5)" echo " -i, --index = : index of the slot (within the dataset) we prove" echo " -k, --log2ncells = : log2 of the number of cells inside this slot (eg. 10)" echo " -K, --ncells = : number of cells inside this slot (eg. 1024; must be a power of two)" diff --git a/reference/nim/proof_input/src/slot.nim b/reference/nim/proof_input/src/slot.nim index 08d13d0..3957011 100644 --- a/reference/nim/proof_input/src/slot.nim +++ b/reference/nim/proof_input/src/slot.nim @@ -12,15 +12,13 @@ import types # const exSlotCfg = - SlotConfig( nCells: 256 # 1024 - , nSamples: 5 # 20 + SlotConfig( nCells: 256 + , nSamples: 5 , dataSrc: DataSource(kind: FakeData, seed: 12345) ) #------------------------------------------------------------------------------- -# (10852671575406741732, 3735945064, 2557891771) - {.overflowChecks: off.} proc genFakeCell(globcfg: GlobalConfig, cfg: SlotConfig, seed: Seed, idx: CellIdx): Cell = let seed1 : uint64 = uint64(seed) + 0xdeadcafe'u64