I'm taking a stab at creating a set-up where I have a Docker container from which I run ethereumjs/testrpc (an Ethereum testing environment) and another Docker container running an Express app. I then wanted to be able to connect the two and, let's say, show account balances in my Express app.
My Dockerfile is
FROM node:boron
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# RUN npm install -g ethereumjs-testrpc --> tested adding this line
# did not work either
# Bundle app source
COPY . /usr/src/app
EXPOSE 3000
CMD [ "npm", "start" ]
and docker-compose looks as follows
version: "2.0"
services:
web:
build: .
volumes:
- .:/usr/src/app
ports:
- "3000:3000"
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
ethereum:
image: ethereumjs/testrpc:latest
The error output I get looks like
web_1 | module.js:471
web_1 | throw err;
web_1 | ^
web_1 |
web_1 | Error: Cannot find module 'ethereumjs-testrpc'
web_1 | at Function.Module._resolveFilename (module.js:469:15)
web_1 | at Function.Module._load (module.js:417:25)
web_1 | at Module.require (module.js:497:17)
web_1 | at require (internal/module.js:20:19)
web_1 | at Object.<anonymous> (/usr/src/app/app.js:7:15)
web_1 | at Module._compile (module.js:570:32)
web_1 | at Object.Module._extensions..js (module.js:579:10)
web_1 | at Module.load (module.js:487:32)
web_1 | at tryModuleLoad (module.js:446:12)
web_1 | at Function.Module._load (module.js:438:3)
Lastly, the beginning of my app.js
is
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var TestRPC = require("ethereumjs-testrpc"); // these two lines are throwing
web3.setProvider(TestRPC.provider()); // the errors
I'm not understanding how to fix this and have tried different things, none of which seem to work. Any pointers in the right direction would be much appreciated!