Add hic et nunc data into your websites and Node.js scripts

Overview

alt text

hic et nunc API Guide

Build websites and Node.js scripts with hic et nunc data

hic et nunc is a decentralized NFT marketplace built on the Tezos blockchain. This Github repo is a guide for using Tezos APIs to build rich web experiences with Hic et nunc data.

Code Examples

Big Picture

Every single OBJKT in hic et nunc has its metadata and IPFS link publicly available for download via a Tezos blockchain explorer API. The goal of this guide is to help developers integrate hic et nunc content into their applications and websites. Use these tools to build the future of distributed creative content.

Table of Contents

Roadmap

  1. Release initial Better Call Dev Nodejs examples, Web Metadata Generator and Github Readme
  2. Implement rate-limiting to outgoing messages using Bottleneck library
  3. Add TZKT.IO API and compare against Better Call Dev for performance
  4. Create a Node.js CLI for developers to quickly get OBJKT/tz data
  5. Convert example code snippets into full NPM library i.e: npm install hen-tools

Hic et nunc Resources

Tezos Resources

hic et nunc

here and now

What is Hic Et Nunc?

Hic et nunc is a decentralized NFT marketplace built on the Tezos blockchain. It enables users to create, sell and interact with Tezos NFTs called OBJKTS. Each OBJKT holds a single artwork containing a 3d model, image, video, html snippet, glsl shader, etc. Hic et nunc lets creators limit how many digital versions of their work are in existence.

When a user uploads their content to hic et nunc, the actual file is uploaded to IPFS, a decentralized storage network. The other metadata is stored in the Tezos blockchain.

In order to fully appreciate hic et nunc, a basic knowledge of decentralized systems, cryptocurrency and blockchains is useful, check out the General Information section.

IPFS Link

The Tezos API returns a link to an OBJKTs IPFS file in a hash-format. In order to download the asset you must append the cloudflare IPFS cdn string:

 'https://cloudflare-ipfs.com/ipfs/'

The Tezos API will give you an IPFS Hash that looks like:

 'ipfs://QmNrhZHUaEqxhyLfqoq1mtHSipkWHeT31LNHb1QEbDHgnc'

Combine the Cloudflare CDN base URL with the IPFS hash:

 'https://cloudflare-ipfs.com/ipfs/QmNrhZHUaEqxhyLfqoq1mtHSipkWHeT31LNHb1QEbDHgnc'

Tezos API

In order to get metadata on a Tezos Wallet Address or hic et nunc OBJKT ID, you must interact with a Tezos blockchain explorer API. This guide focuses on the two most popular Tezos Blockchain Explorer APIS:

To get data from the above APIs we must send a REST message to their public API endpoint URLs. This can be done using Node.js and the Axios library.

Here is an example of using Node.js to request an OBJKT's data using Node.js:

Check out more Node.js examples here

async function getTokenInfo(id){
    try {
        const res = await axios.get('https://api.better-call.dev/v1/tokens/mainnet/metadata?token_id=' + id.toString())
        return res.data[0]
    } catch (error) {
        return null
    }
}

getTokenInfo(36899)

Response:

image

Code Examples

View more in depth documentation inside of each example's folder:

General Information

Decentralized System

A decentralized system is one where a single entity does not have full control over the decision making, additions and upgrades of the system. A decentralized system is inherently communal, serving groups of interconnected relevant parties that want to transact with trust. In many cases decentralization is impossible to reach, a best attempt.

Explainer Video on Decentralization

Blockchain

A blockchain is a database that is built specifically to run on a decentralized p2p network and requires a set of 'checks and balances' to read, write and interact with it. Depending on the implementation, a blockchain can be either decentralized or centralized. Decentralization lends itself to certain ideas and for now the most common implementation of a decentralized blockchain is a cryptocurrency.

Cryptocurrency

A cryptocurrency is a digital medium to transact value on network not owned by a single entity or nation-state. Please refer to the Bitcoin White Paper and Dr. Daniel Kim's video on monetary policy, inflation, central banking, encryption, Bitcoin and Monero.

NFT

An NFT stands for 'non-fungible-token' and was originally created as one of many smart contract types to use on the Ethereum network. Unlike a currency, an NFT is a receipt that uses a private key to verify your assocation to certain files, items and events that happen on the blockchain. NFTs are collected in wallets, which act as your digital backpack to collect moments and digital blockchain goods.

Contact

Created by @ianpetrarca - tz1LobSdhfUqYpMojXWHQLJPhFLEzUEd9JAn

You might also like...

A tool to inject javascript into the Steam Deck client.

Steam Deck UI Inject A tool to inject javascript into the Steam Deck client. How it works This tool works by taking advantage of the remote debugging

Dec 5, 2022

A JSON Database that saves your Json data in a file and makes it easy for you to perform CRUD operations.

What is dbcopycat A JSON Database that saves your Json data in a file and makes it easy for you to perform CRUD operations. ⚡️ Abilities Creates the f

Jan 8, 2023

A proposal to add modern, easy to use binary encoders to the web platform.

proposal-binary-encoding A proposal to add modern, easy to use binary encoders to the web platform. This is proposed as an addition to the HTML spec,

Nov 27, 2022

A student-made, student-tailored Firefox add-on for Veracross. Provides ease of navigation in Veracross, among with other quality of life features. More features in progress.

Check out the Chrome version! This release is version 1.0.0, so the only feature it has is clickable links to the dropbox from the classpage. Any comm

Nov 25, 2022

Execute one command (or mount one Node.js middleware) and get an instant high-performance GraphQL API for your PostgreSQL database!

Execute one command (or mount one Node.js middleware) and get an instant high-performance GraphQL API for your PostgreSQL database!

PostGraphile Instant lightning-fast GraphQL API backed primarily by your PostgreSQL database. Highly customisable and extensible thanks to incredibly

Jan 4, 2023

Jsynchronous.js - Data synchronization for games and real-time web apps.

Jsynchronous.js Synchronize your rapidly changing app state with all connected browsers. Jsynchronous ensures all clients see the same data as what’s

Dec 16, 2022

An example repository on how to start building graph applications on streaming data. Just clone and start building 💻 💪

An example repository on how to start building graph applications on streaming data. Just clone and start building 💻 💪

Example Streaming App 🚀 🚀 This repository serves as a point of reference when developing a streaming application with Memgraph and a message broker

Dec 20, 2022

Python ELT Studio, an application for building ELT (and ETL) data flows.

Python ELT Studio, an application for building ELT (and ETL) data flows.

PELT Studio The Python Extract, Load, Transform Studio is an application for performing ELT (and ETL) tasks. Under the hood the application consists o

Nov 18, 2022

Nodeparse - A lightweight, vanilla replacement for Express framework when parsing the HTTP body's data or parsing the URL parameters and queries with NodeJS.

Nodeparse - A lightweight, vanilla replacement for Express framework when parsing the HTTP body's data or parsing the URL parameters and queries with NodeJS.

nodeparse A lightweight, vanilla replacement for Express framework when parsing the HTTP body's data or parsing the URL parameters and queries with No

Jan 8, 2022
Owner
Ian Petrarca
Creative Developer/Sound Engineer --- I create interactive audio experiences for VR, Physical Installations and the Web.
Ian Petrarca
AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel.

Please use version 1.x as prior versions has a security flaw if you use user generated data to concat your SQL strings instead of providing them as a

Andrey Gershun 6.1k Jan 9, 2023
The social network for developers. Discover creative websites and build a community.

Driwwwle The Social Network for Developers Features ⚡ Server-side rendering with Next.js ?? Cookie-based authorization with JSON web tokens ?? Infinit

Nitin Ranganath 107 Dec 26, 2022
a Node.JS script to auto-import USB drives that are attached to a computer. Use it to turn your NAS into a smart photo / file importer.

File Vacuum 5000 ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ WARNING: This script is designed to manipulate files on both an external drive and another specif

null 46 Jan 10, 2022
The Wholesome App. A project that allows you to upload images directly to MongoDB Atlas into your collection, a faster cloud database.

The Wholesome App. A project that allows you to upload images directly to MongoDB Atlas into your collection, a faster cloud database. To upload your cute and wholesome images.

Gourav Singh Rawat 2 Jul 17, 2022
📄 Easily implement pagination into your Knex.js project.

knex-pagination Easily implement pagination into your application. Usage const knex = require('knex'); const paginate = require('knex-pagination'); co

Snoot 2 Apr 16, 2022
Azure Data Studio is a data management tool that enables you to work with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.

Azure Data Studio is a data management tool that enables working with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.

Microsoft 7k Dec 31, 2022
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.

TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite datab

MikroORM 5.4k Dec 31, 2022
A Node.js library for retrieving data from a PostgreSQL database with an interesting query language included.

RefQL A Node.js library for retrieving data from a PostgreSQL database with an interesting query language included. Introduction RefQL is about retrie

Rafael Tureluren 7 Nov 2, 2022
Zotero plugin for syncing items into a Notion database

Notero A Zotero plugin that syncs items into a Notion database when added to a specific collection. Scaffolded with generator-zotero-plugin and built

David Vanoni 991 Jan 9, 2023
Converts a MSSQL Result set into a markdown table, directly to stdout

mssql-result-to-md-table Tired of formating all the results of a SQL Server query into a markdown table? Well, well, well your problems are gone! Just

Deividy Metheler 2 Feb 12, 2022