Wie stellt man eine Trüffel-App in Heroku bereit?

Ich habe eine funktionierende Trüffel-App, die mit Ropsten Testnet interagiert , aber derzeit befinde ich mich in meiner lokalen Computerumgebung unter localhost:3000.

Ich möchte diese App für Heroku bereitstellen, damit mein Ropsten-Testnet weiterhin wie erwartet funktioniert. Ich habe viel versucht zu googeln und auch einige der Sachen ermüdet, aber es kam nichts heraus, was mein Problem lösen könnte.

Hier ist meine truffle.jsDatei:

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
        }
    }
};

Und hier ist meine package.jsonDatei:

{
    "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": {}
}

Dies mag eine Noob-Frage sein, aber kann jemand bitte eine schrittweise Antwort auf den eigentlichen Prozess geben?

Das hilft mir und auch zukünftigen Lesern.

Meine package.json ist dies, muss ich irgendetwas ändern, um sie auf Heroku bereitzustellen? `{ "name": "truffle-init-webpack", "version": "0.0.2", "description": "Frontend-Beispiel mit truffle v3", "scripts": { "lint": "eslint ./" , "build": "webpack", "dev": "webpack-dev-server" }, "author": "Douglas von Kohorn", "license": "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":
Das beantwortet die Frage nicht wirklich. Wenn Sie eine andere Frage haben, können Sie diese stellen, indem Sie auf Frage stellen klicken . Sie können auch ein Kopfgeld hinzufügen , um mehr Aufmerksamkeit auf diese Frage zu lenken, sobald Sie genug Ruf haben . - Aus Bewertung

Antworten (3)

Ich habe es getan!

Sie müssen Ihre package.json ändern

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

Und fügen Sie eine Datei bs-config.js mit diesem Code hinzu:

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

Viel Glück!

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

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

Danke, am Ende habe ich einen kleinen Node-Server geschrieben, um meine statischen Dateien bereitzustellen. Das könnte funktionieren. Werde es so schnell wie möglich versuchen 🙂

Es wird nur eine weitere Bereitstellung wie die nodejs-Anwendung sein. Aber denken Sie daran, das Netzwerk in truffle.jsmainnet oder ropsten oder rinkeby zu ändern. Und auch truffle migratein diesem Netzwerk laufen.

Sie können DIESEN LINK oder DIES als Referenz verwenden.

truffle.jsJa, ich habe bereits das Netzwerk in und geändert truffle migrate --network ropsten. Ich werde es bald als Node-App bereitstellen. Hast du das schon mal probiert?

Ich habe gerade herausgefunden, dass das, was ich versuche, in Heroku nicht ausgeführt werden kann.

Warum?

Es liegt am kurzlebigen Heroku-Dateisystem .