Sistema de Votación en Solidity (método 1 Voto-1 IP Address-1 Wallet Address).
- Detección de Metamask. Si el usuario tiene Metamask en su navegador, se utilizará por defecto para transaccionar.
- Creación de LightWallet desde el front-end de la aplicación, para usuarios que no utilizan Metamask.
- Integración por API al Faucet-Server para recibir ether al crear un nuevo wallet.
- Acceso al blockchain a través de Infura, permitiendo correr la DApp en cualquier dispositivo sin ser nodo.
- Instalar dependencias:
npm install
- Editar archivo de configuración config-truffle.js. Ingresar palabras seed y hdPath del address que se utilizará para el
deploy del contrato.
- Editar archivo de deploy del contrato migrations/2_deploy_contract.js con los candidatos de la votación. La duración por
defecto de la votación es de 20 días a partir del deploy.
- Compilar el contrato con Truffle y realizar el deploy a la red Ropsten:
node_modules/.bin/truffle migrate --compile-all --reset --network ropsten
-
Editar el archivo de configuración del front-end app/javascripts/config.js. Ingresar la url de su instancia de faucet-server. Ingresar el hdpath de generación de LightWallet.
-
Levantar el front-end con Webpack (para desarrollo):
npm run dev
-
Ingresar desde el browser a http://localhost:50000 para testear la DApp
-
Realizar el build:
npm run build