Anagolay Network Javascript SDK written in Typescript

Overview

pipeline status coverage report

Dev friendly blockchain SDK for Anagolay Network. 👩‍đŸ’ģ 🚀 👨‍đŸ’ģ

This is the monorepo for ALL Anagolay packages. This includes following list:

  1. Definitions of operations located under /operations
  2. Anagolay Network API located under /sdk/api
  3. Anagolay Network Core located under /sdk/core
  4. Anagolay Network CLI located under /sdk/cli
  5. Anagolay Network Types located under /sdk/types

Development

We are using VSCod as our main IDE and for that reason we are including the recommended extensions and settings that will help you get started. Feel free to change the theme (We all love the Noctis Minimus 😍 and we really hope you will too)

The structure is following:

❯ tree -I '.vscode|.git|node_modules|coverage' -d -L 2 .
.
├── examples
│   ├── demo
│   └── woss
├── misc
│   └── benchmark
├── operations
│   ├── cid
│   ├── file
│   ├── identity
│   ├── jsonDec
│   ├── jsonEnc
│   ├── matchAll
│   ├── matchNone
│   ├── multihash
│   └── split
└── sdk
    ├── api
    ├── core
    ├── cli
    └── types

examples

The place where WIP, PoC and some examples are located. Good place to see very unstable code and maybe future implementations.

misc

Pretty much everything that has no special place, like benchmarking.

operations

HEre you can find Javascript implementation of Anagolay Operation. To find out more about Anagolay Operation please visit the Operation wiki page

rect

React specific hooks and components.

sdk/api

Main entry point for communicating with Anagolay Network. For more info please read the API README.md

sdk/cli

Generic CLI for Anagolay Network. Current use is limited only to creation default operations.

sdk/types

Anagolay Network has decent amount of custom types, both on the chain and mapped types for Typescript. All these types, interfaces and api augmentations can be found here. This is the repo which should be the first to install when making new implementation of the operation.

Linting

We are using standard JS for formatting and each package contains it and it is in charge of formatting its own code. We are using Husky to make sure that code is formatted properly before we commit anything. In real life you don't have to run this command at all, but it's good to know that it exists.

# this will fix the sdk and operations source files
yarn std

Building && Publishing

This repo is a monorepo for all our packages that are related to the Anagolay Network SDK. Each package is in charge of its own build process, which we are tying to standardize.

Sometimes is good to see will the packages build BEFORE the publishing, to do so, run the command below and if it passes then all builds are successful and you should be ready for publishing.

This will build ALL the packages, operations and sdk. Under the hood lerna will run the build task in every possible package in this repo.

# this will fix the sdk and operations source files
yarn build

Lerna is awesome when it comes to the publishing BUT it really doesn't like the fact that you are not logged in to the npm. Follow these steps to publish the package:

  1. run yarn build to build ALL packages, even if they are not changed
  2. log in to npm using npm login
  3. check that you are logged in using npm whoami. you should see your username if not, repeat step 1
  4. run yarn lerna publish, this will run the lerna publish which will determine changed packages
  5. select the package versions, if it's a small change in the code, use minor version, if it is the added functionality use patch version
  6. repeat 5
  7. publish

Creating the operation

At the moment we are using the CLI to generate scaffold operation folder under operations/ with decent defaults. One thing that needs manual input is making sure that operations/tsconfig.json and ./tsconfig.json are correctly set up.

#Delete local tags.
git tag -l | xargs git tag -d
#Fetch remote tags.
git fetch
#Delete remote tags.
git tag -l | xargs -n 1 git push --no-verify --delete origin
#Delete local tags.
git tag -l | xargs git tag -d
You might also like...

Node JS/TypeScript module that allows you to work with the site enka.network adding localization and convenience.

Node JS/TypeScript module that allows you to work with the site enka.network adding localization and convenience.

enkaNetwork Node JS/TypeScript module that allows you to work with the site enka.network adding localization and convenience. examples â€ĸ structure đŸ“Ļ

Nov 18, 2022

microCMS JavaScript SDK.

microCMS JavaScript SDK It helps you to use microCMS from JavaScript and Node.js applications. Getting Started Install Install npm package. $ npm inst

Dec 31, 2022

Codemod scripts to update AWS SDK for JavaScript APIs.

aws-sdk-js-codemod This repository contains a collection of codemod scripts for use with JSCodeshift that help update AWS SDK for JavaScript APIs. The

Jan 2, 2023

It's a javascript Class which contains utility methods that simplify working with google maps web SDK

About GoogleMapsJSHelper It's a javascript Class which contains utility methods that simplify working with google maps web SDK Note: i used ES7 Class

Jul 23, 2022

The official Directus SDK for use in JavaScript!

Directus JS SDK Installation npm install @directus/sdk Basic Usage import { Directus } from '@directus/sdk'; const directus = new Directus('http://d

Dec 29, 2022

Unofficial port of the Sentry SDK for JavaScript to Deno.

Sentry_deno This is an unofficial port of the Sentry SDK (@sentry/browser) to Deno. import * as Sentry from "https://deno.land/x/sentry_deno/main.ts";

Aug 11, 2022

BotCity Maestro SDK - JavaScript

BotCity Maestro SDK - JavaScript

BotCity Maestro SDK - Javascript ÂĢ Explore Framework docs Summary Summary 🤖 Computer-vision based UI Automation 🚀 Getting Started đŸ“Ļ Prerequisites ?

Sep 6, 2022

INeedHelp is a Game Boy, Game Boy Advance, and Nintendo DS emulator written in JavaScript and TypeScript.

INeedHelp INeedHelp is a Game Boy Advance and Nintendo DS emulator written in JavaScript/TypeScript. FAQ Why is it called INeedHelp? You would need he

Jun 29, 2022

Multi-chain defi crypto sniper written in typescript/javascript. Fastest method of sniping with auto-sell and rug prevention features.

Multi-chain defi crypto sniper written in typescript/javascript. Fastest method of sniping with auto-sell and rug prevention features.

CryptoSniper Community Edition Multi-chain defi crypto sniper written in typescript/javascript. Fastest method of sniping with auto-sell and rug preve

Nov 3, 2022
Owner
Anagolay Network
Anagolay is a next-generation framework for ownerships, copyrights and digital licenses. 🚀
Anagolay Network
The iofod SDK provides developers with the ability to interact with the main iofod interface within the Web worker, enabling rapid development of iofod extensions through the SDK.

iofod-sdk English | įŽ€äŊ“中文 The iofod SDK provides developers with the ability to interact with the main iofod interface within the Web worker, enabling

iofod, Inc. 47 Oct 17, 2022
Particle Network Web SDK Demo.

Particle Web Demo This repository is Auth Service sample source. It supports EVM-compatiable chains, more chains and more features coming soon! Learn

Particle Network 7 Aug 20, 2022
Simple but Complete & Fast network monitor for your home network

netmon Netmon is an opensource project for protecting and monitoring your home network. Netmon is written to run on a Raspberry PI and is optimized to

Tommaso Ventafridda 9 Jul 6, 2022
A JavaScript (and TypeScript) SDK for the ScreenshotOne.com API to take screenshots of any URL

jssdk An official Screenshot API client for JavaScript and TypeScript. It takes minutes to start taking screenshots. Just sign up to get access and se

ScreenshotOne.com 7 Oct 15, 2022
Temporal-time-utils - This is a library with some reusable functions for Temporal.io TypeScript SDK

temporal-time-utils This is a library with some reusable functions for Temporal.io TypeScript SDK: sleepUntil: sleep to a specific date, instead of by

swyx 15 Oct 18, 2022
NodeJS(TypeScript) SDK For V2EX

NodeJS(TypeScript) SDK For V2EX

chyroc 4 Mar 2, 2022
A sdk scaffold with typescript.

sdk-scaffold A sdk scaffold with vite & typescript. Start git clone --depth=1 https://github.com/Alioth1017/sdk-scaffold my-sdk cd my-sdk pnpm i confi

Alioth 6 Sep 7, 2022
A Lua plugin, written in TypeScript, to write TypeScript (Lua optional).

typescript.nvim A minimal typescript-language-server integration plugin to set up the language server via nvim-lspconfig and add commands for convenie

Jose Alvarez 315 Dec 29, 2022
Screeps Typescript Starter is a starting point for a Screeps AI written in Typescript.

Screeps Typescript Starter Screeps Typescript Starter is a starting point for a Screeps AI written in Typescript. It provides everything you need to s

null 3 Jan 27, 2022
đŸŦ A simplified implementation of TypeScript's type system written in TypeScript's type system

?? HypeScript Introduction This is a simplified implementation of TypeScript's type system that's written in TypeScript's type annotations. This means

Ronen Amiel 1.8k Dec 20, 2022