tornado-trees/optimize/Dockerfile

48 lines
1.4 KiB
Docker

FROM ubuntu
RUN apt-get update && \
apt-get install -y python3 python3-distutils g++ make curl git && \
rm -rf /var/lib/apt/lists/*
# Install nvm with node and npm
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 14.8.0
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash \
&& source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
RUN node --version
WORKDIR /root
RUN git clone https://github.com/nodejs/node.git
RUN git clone https://github.com/iden3/circom.git
COPY node.sh /tmp
RUN apt-get update && apt-get install -y ninja-build
RUN /tmp/node.sh
RUN cd circom && \
git checkout v0.5.35 && \
npm install
RUN git clone https://github.com/iden3/r1csoptimize
RUN cd r1csoptimize && \
git checkout 8bc528b06c0f98818d1b5224e2078397f0bb7faf && \
npm install
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN source $HOME/.cargo/env && cargo install zkutil
RUN npm install -g circom snarkjs
WORKDIR /root/test
RUN npm init -y && npm install circomlib
RUN apt-get update && apt-get install -y ne
RUN mkdir circuits
COPY sha/circuit.circom sha/input.js test.sh ./circuits/