From f5b8d24efc0a3b8a3f1c844113b9ba9edc803e35 Mon Sep 17 00:00:00 2001 From: Peter Broadhurst Date: Tue, 8 Feb 2022 10:39:08 -0500 Subject: [PATCH] Compile directly with solc to avoid full Node.js npm install of Truffle Signed-off-by: Peter Broadhurst --- Dockerfile | 13 +++++++------ manifest.json | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5adc499de6..7d1f383483 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,13 +29,14 @@ RUN touch core.yaml RUN ./bin/peer lifecycle chaincode package /firefly/smart_contracts/fabric/firefly-go/firefly_fabric.tar.gz --path /firefly/smart_contracts/fabric/firefly-go --lang golang --label firefly_1.0 FROM $SOLIDITY_BUILDER_TAG AS solidity-builder -RUN apk add python3 make gcc g++ musl-dev WORKDIR /firefly/solidity_firefly -ADD smart_contracts/ethereum/solidity_firefly/package*.json . -RUN npm install -RUN npm config set user 0 -ADD smart_contracts/ethereum/solidity_firefly . -RUN npx truffle compile +ADD smart_contracts/ethereum/solidity_firefly/ . +RUN apk add jq \ + && mkdir -p build/contracts \ + && cd contracts \ + && solc --combined-json abi,bin,devdoc -o ../build/contracts Firefly.sol \ + && cd ../build/contracts \ + && jq '{"contractName":"FireFly", "abi":.contracts."Firefly.sol:Firefly".abi, "bytecode":("0x" + .contracts."Firefly.sol:Firefly".bin) }' combined.json > Firefly.json FROM $BASE_TAG WORKDIR /firefly diff --git a/manifest.json b/manifest.json index 7e493f394d..c83e450008 100644 --- a/manifest.json +++ b/manifest.json @@ -33,7 +33,7 @@ "platform": "linux/x86_64" }, "solidity-builder": { - "image": "node:14-alpine3.15" + "image": "ethereum/solc:0.8.11-alpine" }, "base": { "image": "alpine:3.15"