Скачайте последнюю версию программы в разделе Releases.
Установите пакет curl:
Arch: sudo pacman -S curl
Ubuntu: sudo apt install curl
Debian: sudo apt-get install curl
Прежде, чем запустить программу, следует выполнить ряд действий:
- Разместить программу в отдельной папке.
- Убедиться, что у вас открыт и не занят порт 8080.
- Проверить, какой у вас браузер (например, браузер на основе Chromium не распарсит данные в JSON-формате, а Mozilla Firefox — распарсит).
Для запуска в ОС Windows скачайте EWallet_Windows.tar.gz, разархивируйте и дважды щёлкните по исполняемому файлу (или запустите в командной строке).
Для запуска в Linux скачайте EWallet_Linux.tar.gz, разархивируйте и воспользуйтесь командой:
./EWallet
Пример:
При первом запуске, если у вас в папке нет БД с названием 'wallets.db', программа автоматически её создаст и заполнит десятью кошельками со случайными адресами. После запуска программы вы увидите список кошельков в БД: их ID в базе, адреса и балансы. Если в базе данных на момент запуска было больше десяти кошельков, то она автоматически уменьшит их количество до десяти, если меньше — увеличит до десяти. Отсутствие сообщения об ошибке означает, что программа запущена и работает корректно, можно переходить к эксплуатации.
Программа предполагает три метода: getBalance
, send
и getLast
.
В этом методе реализована функция просмотра баланса кошелька. Эндпоинт: GET /api/wallet/адрес_кошелька/balance
. Для просмотра баланса кошелька запустите программу и в адресной строке браузера введите следующий запрос:
http://localhost:8080/api/wallet/адрес_кошелька/balance
Пример:
Данный метод позволяет перевести деньги с одного счёта на другой. Эндпоинт: POST /api/send
. Для перевода денег с одного счёта на другой необходимо отправить POST-запрос при помощи curl или другого HTTP-клиента. Тело запроса обладает строгим шаблоном: {"From": "адрес_первого_кошелька", "To": "адрес_второго_кошелька", "Amount": "количество"}
. Данный формат является JSON-объектом, и именно его метод Send принимает на вход.
curl -d `{"From": "адрес_первого_кошелька", "To": "адрес_второго_кошелька", "Amount": "количество"}` http://localhost:8080/api/send
Пример:
Последний метод позволяет при помощи браузера посмотреть последние N транзакций в формате JSON. Эндпоинт: GET /api/transactions?count=N
. В адресной строке браузера необходимо ввести следующий запрос:
http://localhost:8080/api/transactions?count=количество_запросов
Пример:
Для компиляции программы вам будет необходим пакет Go.
Arch: sudo pacman -S go
Ubuntu: sudo apt install golang
Для установки Go в дистрибутиве Debian воспользуйтесь руководством в разделе Linux на официальном сайте.
Затем вам понадобится библиотека go-sqlite3. Для её установки сначала установите gcc:
Arch: sudo pacman -S gcc
Ubuntu: sudo apt -y install build-essential
Debian: sudo apt install build-essential
Для Debian так же можно установить man-страницы, включающие документацию для GNU/Linux:
sudo apt-get install manpages-dev
Затем инициализируйте go.mod в склонированном репозитории:
go mod init
go mod tidy
И установите зависимость:
go install
После этого можно будет скомпилировать программу при помощи команды:
go build -o EWallet
Вы можете скомпилировать и запустить программу в Docker-контейнере. Для этого склонируйте репозиторий и запустите в нём следующие команды:
sudo docker build -t ewallet-build -f Dockerfile.build .
sudo docker run ewallet-build > EWallet.tar.gz
Будет создан архив EWallet.tar.gz
, содержащий скомпилированную программу. На этом этапе её можно разархивировать и запустить, если в запуске из Docker-контейнера нет необходимости. Если необходимость есть, воспользуйтесь следующими командами:
sudo docker build -t ewallet .
sudo docker run --publish 80:8080 --name ewallet --rm ewallet
Программа будет запущена из Docker-контейнера. Флаг --publish
пробрасывает порт 8080 из контейнера на 80 в хост-системе. Поэтому в дальнейшем для эксплуатации программы следует использовать порт 80, а не 8080.