You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

github.com/dl-nft-books/core-svc

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/dl-nft-books/core-svc

v0.0.0-20230413110120-0875a82db500
Source
Go
Version published
Created
Source

core-svc

Description

The core service responsible for generating NFTs.

Service includes API endpoints for tasks – small state machines, where the first step is to prepare a book with user's custom signature and load it to the S3 bucket. The frontend side waits till the task receives finished_generation status. After that, the frontend gets an EIP712 Mint signature needed to send a transaction to mint token. For EIP712, we use a price-svc connector to get the proper amount of tokens per 1$ (NOT per book price in USD).

When the token is minted, contract-tracker updates the task info (e.g., status and token_id) and creates a token object which contains an info such as book id, signature, owner, IPFS hash, etc.

PDF params (pdf_signature_params in the config.yaml) explanation:

alt text

Install

git clone core-svc
cd core-svc
go build main.go
export KV_VIPER_FILE=./config.yaml
./main migrate up
./main run service

Documentation

We do use openapi:json standard for API. We use swagger for documenting our API.

To open online documentation, go to swagger editor here is how you can start it

  cd docs
  npm install
  npm start

To build documentation use npm run build command, that will create open-api documentation in web_deploy folder.

To generate resources for Go models run ./generate.sh script in root folder. use ./generate.sh --help to see all available options.

Running from docker

Make sure that docker is installed. Use docker run with -p 8080:80 to expose port 80 to 8080

docker build -t core-svc .
docker run -e KV_VIPER_FILE=/config.yaml core-svc

Running from Source

  • Set up environment value with config file path KV_VIPER_FILE=./config.yaml
  • Provide valid config file
  • Launch the service with migrate up command to create database schema
  • Launch the service with run service command

Database

For services, we do use PostgresSQL database. You can install it locally or use docker image.

Third-party services

  • UniPDF: service for modifying PDFs

Contact

The primary contact for this project is @slbmax (Telegram) and Dmytro Zakharov @ZamDimon (Telegram as well)

FAQs

Package last updated on 13 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts