Trufa - prueba - ¿cómo obtener más de 10 cuentas?

Quiero probar los límites de gas del bloque.

Actualmente en mis pruebas:

console.log(accounts); console.log(accounts.length);

Tengo 10 cuentas, ¿qué hago si quiero más?

Relacionado: https://github.com/trufflesuite/truffle/issues/771

Respuestas (3)

Las pruebas de trufas ejecutan ganache-cli detrás de escena en modo predeterminado (10 cuentas).

Pero si ejecuta usted mismo ganache-cli con x cuentas generadas, tendrá acceso a todas estas cuentas desde su prueba de Truffle.

Ejecutar Ganache-cli

$ ganache-cli -a 15
Ganache CLI v6.1.0 (ganache-core: 2.1.0)

Available Accounts
==================
(0) 0x0db5a29ba9c8ba9828d762361100eee40c27d534
(1) 0x0ee6079af81bde6f26668acb3ebe88da62688746
(2) 0xf7a97a29e36ab303c7427fdbc11e47442fc5e0e6
(3) 0x062e63e393e6fa22cac0952dae11cb95347a3c41
(4) 0xcc10e5fc80ca5245f8e88f07c8f25956166fab97
(5) 0xc251a8a9920544e8c0fbd8aa65857ec1db00f2dd
(6) 0x06022629d7fd960585d3b33f1d53c86a969a2493
(7) 0x962c196fde6998744c69939213d47eee071d6b0a
(8) 0x6ea526f5b81822cbfe166e4fbba2752a42597d04
(9) 0xc11398eff1f1382074790eeb80053e09b15ef4cf
(10) 0x330997e70b83f1a562490fcaa5996314fa5a971a
(11) 0x30af8cdd1bac5ad8ae0e71a15aae563fe046a259
(12) 0x98544babd863f5ce635453728aee5e1e22362782
(13) 0x0751f545185fae1a882c311fcc3e8c00fb206fba
(14) 0xb2ed8ebb091c17c21b4c6cd1ef768b66c31d15bc

Private Keys
==================
(0) 91eb77d7aed3f81a9f981ca9e6fa1228e95cbd41012eb730c6e973ebb62a066f
(1) 051c7b1b210394fa863b760a406d56e69c7724d787a41927ac7f4a1d012b1185
(2) a7f19b34d12427612b25856f1a3f9727c464864ad5f63bba9b305840735bdc92
(3) a9b6f09091b9daa9d7caae2c018b19ab921e98a1106239b2a58a6bd1a4abc943
(4) 69a0315f0a6932ca52d5b1ad9ce31b2fef7de658f8da625a6d97f4dbb3ba22c1
(5) 2c06b48c205efccc3506430212630a11bcc99cad1994452898e5df63985eda10
(6) d890fedd404c6f49daf4be91cd720df22786e1d35d579b8372cc531eed80a267
(7) 9da43e9603043299cd6c5aecec69b7713342496f3465caaadbee5db955f18010
(8) 53a2a4124387132ceae955edb80f13aa549f2e956d3f8aae0383412a3c765a93
(9) 1803ea57835da6f03f8b43458482f65f280600c278947fe0eaf78c5d7d260c81
(10) b13f2706716d269a9639f2eb99d38ba8aaef0e210d1b35a2e40e3e8b62ab76f9
(11) 6ea3ff0add2ecee82d3ba59968d4a62bb7345f908a126a8827f6f1f323b83d42
(12) e5fdc32e5d479f9ad7cbe140cc0f28c89fc6b6d5b9d36f2538fd674348a76ca0
(13) 35236c790a4477e16e90dbd1a6cf34979fbd3ccedb0f02992125a29b22ec50fe
(14) 3866d014b5d0fc7786326fd1eb263ae99a78e415ced643a6c477c0990054f7b4

HD Wallet
==================
Mnemonic:      solar hurry climb pass about loud siren bean close link tower all
Base HD Path:  m/44'/60'/0'/0/{account_index}

Listening on localhost:8545

Ejecutar las pruebas

$ truffle test
Using network 'development'.

[ '0x0db5a29ba9c8ba9828d762361100eee40c27d534',
  '0x0ee6079af81bde6f26668acb3ebe88da62688746',
  '0xf7a97a29e36ab303c7427fdbc11e47442fc5e0e6',
  '0x062e63e393e6fa22cac0952dae11cb95347a3c41',
  '0xcc10e5fc80ca5245f8e88f07c8f25956166fab97',
  '0xc251a8a9920544e8c0fbd8aa65857ec1db00f2dd',
  '0x06022629d7fd960585d3b33f1d53c86a969a2493',
  '0x962c196fde6998744c69939213d47eee071d6b0a',
  '0x6ea526f5b81822cbfe166e4fbba2752a42597d04',
  '0xc11398eff1f1382074790eeb80053e09b15ef4cf',
  '0x330997e70b83f1a562490fcaa5996314fa5a971a',
  '0x30af8cdd1bac5ad8ae0e71a15aae563fe046a259',
  '0x98544babd863f5ce635453728aee5e1e22362782',
  '0x0751f545185fae1a882c311fcc3e8c00fb206fba',
  '0xb2ed8ebb091c17c21b4c6cd1ef768b66c31d15bc' ]
length: 15

EDITAR: Detalles de configuración

$ cat truffle.js 
module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    }
  }
};

$ cat test/test.js 
var Contract = artifacts.require("Weechain.sol");

contract('Contract', function(accounts) {
    console.log(accounts);
    console.log("length: " + accounts.length);
});

$ truffle version
Truffle v4.1.5 (core: 4.1.5)
Solidity v0.4.21 (solc-js)

$ ganache-cli version
Ganache CLI v6.1.0 (ganache-core: 2.1.0)
-a 15funciona muy bien... Pero truffle testme da Using network 'test'.y todavía solo 10 cuentas... ¿Necesito poner alguna configuración especial? truffleframework.com/docs/advanced/configuration
Acabo de editar mi respuesta con más detalles sobre mi configuración.
¡Gracias! Estaba a punto de perder un poco la cordura, y luego me di cuenta de que tenía dos archivos en el repositorio truffle-config.js(basura) y truffle.js(ese es)

Aquí hay un ejemplo de 15 cuentas (es ^para dividir la línea de comando en varias líneas en Windows, así que reemplácela con lo que sea apropiado en su sistema operativo):

ganache-cli --port=8545 --gasLimit=0xfffffffffff ^
--account=0x0000000000000000000000000000000000000000000000000000000000000001,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000002,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000003,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000004,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000005,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000006,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000007,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000008,1000000000000000000000000000000000000000 ^
--account=0x0000000000000000000000000000000000000000000000000000000000000009,1000000000000000000000000000000000000000 ^
--account=0x000000000000000000000000000000000000000000000000000000000000000A,1000000000000000000000000000000000000000 ^
--account=0x000000000000000000000000000000000000000000000000000000000000000B,1000000000000000000000000000000000000000 ^
--account=0x000000000000000000000000000000000000000000000000000000000000000C,1000000000000000000000000000000000000000 ^
--account=0x000000000000000000000000000000000000000000000000000000000000000D,1000000000000000000000000000000000000000 ^
--account=0x000000000000000000000000000000000000000000000000000000000000000E,1000000000000000000000000000000000000000 ^
--account=0x000000000000000000000000000000000000000000000000000000000000000F,1000000000000000000000000000000000000000 

El primer parámetro para cada cuenta es la clave privada de la cuenta (elija libremente).

El segundo parámetro para cada cuenta es el saldo de la cuenta (elija generosamente).

Creo que -a 15es una manera más fácil, ver otra respuesta. También quiero saber cómo convencer truffle testpara usarlo... ¿Quizás lo sabrás?
@MichalStefanow: más fácil, pero si no configura un saldo lo suficientemente grande, tendrá problemas más adelante en sus pruebas. Si ejecuta truffle en el mismo puerto (8545 en este caso), entonces "funcionarán juntos".
Juego limpio. El segundo parámetro es un equilibrio, ¡bien!

Estoy usando la versión de interfaz de usuario de ganache (no la de cli). En la página de configuración puede configurar la cantidad de cuentas que desea utilizar.