Skip to content

Instantly share code, notes, and snippets.

View schadokar's full-sized avatar
😵

Shubham Chadokar schadokar

😵
View GitHub Profile
@schadokar
schadokar / docker-compose.yml
Created April 14, 2019 09:00
docker-ethereum docker-compose.yml
version: "3"
services:
ganache:
build:
context: .
dockerfile: Dockerfile.ganache
ports:
- "8545:8545"
dapp:
build: .
@schadokar
schadokar / Dockerfile
Created April 14, 2019 04:44
docker-ethereum server dockerfile
# using node alpine as base image
FROM node:alpine
# working dir ./app
WORKDIR /app
# Install the prerequisites to install the web3 and other ethereum npm packages
RUN apk update && apk upgrade && apk add --no-cache bash git openssh
RUN apk add --update python krb5 krb5-libs gcc make g++ krb5-dev
@schadokar
schadokar / Dockerfile
Created April 13, 2019 19:30
docker-ethereum Dockerfile client
# using node alpine as base image
FROM node:alpine
# working dir ./app
WORKDIR /app
# Copy react package.json
COPY ./package.json .
# install dependencies
@schadokar
schadokar / App.js
Created April 13, 2019 19:24
docker-ethereum App.js
import React, { Component } from 'react';
import { BrowserRouter as Router, Route } from "react-router-dom";
import './App.css';
import message from "./message";
class App extends Component {
render() {
return (
<Router>
@schadokar
schadokar / message.js
Last active April 13, 2019 19:16
client's message.js
import React, { Component } from "react";
import axios from "axios";
let endpoint = "http://localhost:4000";
class Message extends Component {
constructor(props) {
super(props);
this.state= {
@schadokar
schadokar / index.js
Created April 13, 2019 15:27
docker-ethereum server of the dapp
const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
const app = express();
const contractAPIRoutes = require("./routes/contract-API");
const smartContractAPIRoutes = require("./routes/smart-contract-API");
const port = 4000;
@schadokar
schadokar / smart-contract-API.js
Created April 13, 2019 15:18
docker-ethereum call the logic.js
const express = require("express");
const router = express.Router();
const logic = require("../../ethereum/logic");
router.get("/", async (req,res,next) => {
let message = await logic.getMessage();
res.send(message);
})
@schadokar
schadokar / contract-API.js
Created April 13, 2019 15:00
docker-ethereum contract-API it will call deploy and compile function of ethereum
const express = require("express");
const router = express.Router();
const compile = require("../../ethereum/compile");
const deploy = require("../../ethereum/deploy");
// Compile the contract
router.post("/compile", async function(req, res, next) {
const result = compile();
res.send(result);
});
@schadokar
schadokar / package.json
Created April 13, 2019 13:45
docker-ethereum-dapp package.json
{
"name": "docker-ethereum",
"version": "1.0.0",
"description": "",
"main": "./server/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon ./server/index.js"
},
"author": "",
@schadokar
schadokar / logic.js
Created April 11, 2019 16:45
Interact with deployed smart contract
const fs = require("fs-extra");
const {web3} = require("./web3");
const compileContract = require("./build/Message.json");
// Contract object deployed on network (ganache-cli or testnet or mainnet)
// network can be selected in web3 file
// cont
const getContractObject = () => {