Подключение secp256k1-php к php [dockerfile]

17 дней назад
66 в открытый-код

Занимаюсь подписанием транзакций на php, вчера пол дня подключал secp256k1-php к докеру
Инструкция по подключению простая, но плохая для докера) без граблей не работает. Поэтому для тех кто пойдет протореной тропой, выкину dockerfile.

Сама иснтрукция выглядит так
To Install:

    git clone git@github.com:Bit-Wasp/secp256k1-php
    git clone git@github.com:bitcoin-core/secp256k1
    cd secp256k1
    ./autogen.sh && ./configure --enable-experimental --enable-module-{ecdh,recovery} && make && sudo make install
    cd ../secp256k1-php/secp256k1
    phpize && ./configure --with-secp256k1 && make && sudo make install

сразу скажу, что

--enable-module-{ecdh,recovery}

следует заменить на

--enable-module-ecdh --enable-module-recovery

Для работы Bit-Wasp/secp256k1-php в докере следует установить дополнительно 2 компонента "automake", "libtool"
Далее

    git clone git@github.com:Bit-Wasp/secp256k1-php
    git clone git@github.com:bitcoin-core/secp256k1

не получится использовать в докере, поскольку нужен ssh ключь, чб докер не ругался, поэтому погуглив, сделал скачку zip с распоковкой.
Для распаковки архива и работы composer понадобится компонент "zip"

В результате докер файл выглядит так

# our base image
FROM php:7.1-fpm


#install zip extension for composer
RUN apt-get update && apt-get install -y \
    zip \
    automake \
    libtool

#install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

#install secp256k1-php
# Setup for ssh onto github
RUN  cd ~  && \
    curl -#L https://github.com/bitcoin-core/secp256k1/archive/master.zip > file.zip && \
    unzip file.zip && \
    rm file.zip && \
    cd secp256k1-master && \
    ./autogen.sh && \
    ./configure --enable-experimental --enable-module-ecdh --enable-module-recovery && \
    make && \
    make install
RUN  cd ~  && \
    curl -#L https://github.com/Bit-Wasp/secp256k1-php/archive/v0.1.2.zip > file.zip && \
    unzip file.zip && \
    rm file.zip && \
    cd secp256k1-php-0.1.2/secp256k1 && \
    phpize && \
    ./configure --with-secp256k1 && \
    make && \
    make install
RUN echo "extension=secp256k1.so" > /usr/local/etc/php/conf.d/secp256k1.ini

RUN chown -R www-data:www-data /var/www

WORKDIR  /var/www/php-node-client

Для тех кому интересно, benchmark показывает

real    0m1.348s
user    0m1.270s
sys     0m0.010s

Я не вкурсе насколько это круто, но говорят, что быстро)

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.
Порядок сортировки:  Популярное
69
  ·  16 дней назад

Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
alex2016, t3ran13, xroni, mishka, chiliec, lumia, vik, semasping, tnam0rken, orezaku, newodin, vika-teplo, lengalenga, pulemetchi
Поэтому я тоже проголосовал за него!

Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!


Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"


dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас: