¿Cómo implementar una aplicación de trufas en heroku?

Tengo una aplicación de trufas en funcionamiento que interactúa con Ropsten Testnet , pero actualmente estoy en mi entorno de máquina local en localhost:3000.

Quiero implementar esta aplicación en heroku de modo que mis alambiques de red de prueba ropsten funcionen como se esperaba. Intenté buscar mucho en Google y también cansé algunas de las cosas, pero no apareció nada que pudiera resolver mi problema.

Aquí está mi truffle.jsarchivo:

var HDWalletProvider = require("truffle-hdwallet-provider");

var infura_apikey = "my api key";
var mnemonic = "some awesome mneumonic";

module.exports = {
    networks: {
        development: {
            host: "localhost",
            port: 8545,
            network_id: "*" // Match any network id
        },
        ropsten: {
            provider: new HDWalletProvider(mnemonic, 
                      "https://ropsten.infura.io/" + infura_apikey),
            network_id: 3,
            gas: 400000
        }
    }
};

Y, aquí está mi package.jsonarchivo:

{
    "name": "decentralizedtodo",
    "version": "1.0.0",
    "description": "",
    "main": "truffle.js",
    "directories": {
        "test": "test"
    },
    "scripts": {
        "dev": "lite-server",
        "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "Pramesh Bajrachaarya",
    "license": "ISC",
    "devDependencies": {
        "lite-server": "^2.3.0"
    },
    "dependencies": {}
}

Esta puede ser una pregunta de novato, pero, ¿alguien puede dar una respuesta paso a paso para el proceso mismo?

Esto me será útil a mí y también a futuros lectores.

mi paquete.json es este, ¿tengo que cambiar algo para implementarlo en heroku? `{ "name": "truffle-init-webpack", "version": "0.0.2", "description": "Ejemplo de interfaz usando truffle v3", "scripts": { "lint": "eslint ./" , "construir": "webpack", "dev": "webpack-dev-server" }, "autor": "Douglas von Kohorn", "licencia": "MIT", "devDependencies": { "babel-cli" : "^6.22.2", "babel-core": "^6.22.1", "babel-eslint": "^6.1.2", "babel-loader": "^6.2.10", "babel- plugin-transform-runtime": "^6.22.0", "babel-preset-env": "^1.1.8", "babel-preset-es2015":
Esto realmente no responde la pregunta. Si tiene una pregunta diferente, puede hacerla haciendo clic en Preguntar . También puede agregar una recompensa para llamar más la atención sobre esta pregunta una vez que tenga suficiente reputación . - De la revisión

Respuestas (3)

¡Lo he hecho!

Necesitas cambiar tu paquete.json

"start": "npm run test",
"dev": "lite-server",
"test": "lite-server"

Y agregue un archivo bs-config.js con este código:

module.exports = {
  port: process.env.PORT,
  files: ['.src/**/*.{html,htm,css,js}'],
  server:{
    baseDir: ["./src", "./build/contracts"]
  }};

¡Buena suerte!

repositorio: https://github.com/bukosabino/truffle-voting-dapp-ropsten

url dapp: https://voting-dapp-ropsten.herokuapp.com

Gracias, terminé escribiendo un pequeño servidor de nodos para servir mis archivos estáticos. Esto podría funcionar. Lo intentaré lo antes posible 🙂

Va a ser solo otra implementación como la aplicación nodejs. Pero recuerde cambiar la red truffle.jsa mainnet o ropsten o rinkeby. Y también ejecutar truffle migrateen esa red.

Puede usar ESTE ENLACE o ESTE como referencia.

Sí, ya he cambiado la red en truffle.jsy truffle migrate --network ropsten. Lo implementaré como una aplicación de nodo muy pronto. ¿Usted ha intentado esto antes?

Me acabo de enterar de que lo que intento hacer no se puede hacer en Heroku.

¿Por qué?

Se debe al sistema de archivos efímero de heroku .