Skip to content

Instantly share code, notes, and snippets.

View LeoHChen's full-sized avatar
💭
busy building blockchain

Leo Chen LeoHChen

💭
busy building blockchain
View GitHub Profile

Multichain integration

Overview

Multichain is a collection of functions, types, interfaces, and runtimes that can be implemented for any blockchain. Those familiar with the Rosetta spec by Coinbase will note similarities in goals. However, multichain's scope is limited to accounts, contract calls, and sending transactions — there is no block data extraction. Moreover, the chain (Harmony) would have to implement the appropriate functions to Ren's multichain repo as a pull request and undergo their review. The Ren Project notes that once Harmony has integrated with the multichain API, we have the possibility for support in the RenVM.

Context

To help bridge the gap between Harmony and other chains, we must explore ways to integrate with chain agnostic interfaces. Having an API that is standard across multiple chains (notably BTC & ETH) will help reduce the friction of getting a

@LeoHChen
LeoHChen / harmony-package-testing.md
Last active August 27, 2020 09:43
Harmony package testing

Introduction

This document describes the test plan for Harmony's package release using standard packaging system, RPM and Deb packages.

Standard packaging system has many benefits, like extensive tooling, documentation, portability, and complete design to handle different situation.

Package Content

The RPM/Deb packages will install the following files/binary in your system.

  • /usr/sbin/harmony
  • /usr/sbin/harmony-setup.sh
@rhazberries
rhazberries / README.md
Last active August 20, 2020 19:56
Check Harmony endpoint health

New RPCs

hmy_inSync Returns a boolean, indicating whether the node is sync with the shard chain (true) or currently syncing to catch up to the shard chain max height (false)

hmy_beaconInSync Returns a boolean. It is the same as the previous one, but it checks the beacon chain (shard 0) currently on the node.

These RPCs will work for any of our endpoints & any nodes that have open RPC ports!

Example CURL commands:

$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs tmpfs 1.6G 776K 1.6G 1% /run
/dev/nvme0n1p1 ext4 291G 64G 228G 22% / <-- Notice how TYPE is ext4
# Go on AWS and use InstanceID to get to EBS storage, then increase the EBS storage.
# Once done, do the following
# check to make sure EBS upgrade is done with
@JackyWYX
JackyWYX / ethereum_sync_walk_through.md
Last active June 2, 2020 22:25
# Ethereum Sync Logic Analysis

Ethereum Sync Logic Analysis

by Jacky@Harmony 5/20/2020

Description

This document analyze the Ethereum synchronization logic. The analysis is based on go-ethereum commit hash 65ce550b37670ce34aeaeaa6e66510028d2f7603 to the time of this document being written.

1. Background and assumptions

@LeoHChen
LeoHChen / update-harmony
Last active May 15, 2020 15:53
update harmony binary and script for open staking
# All exchange partners have to update the harmony node software and script for the open staking
# The following instructions assume you already have a running node on harmony mainnet
# and running the node.sh in console/tmux.
# stop your node.sh
# upgrade node.sh
curl -LO https://harmony.one/node.sh
chmod +x node.sh

Running a node on Harmony Dryrun Network

Spin up AWS instance

More details on how to spin up AWS instance here

  1. select amazon linux 2 AMI
  2. select t3.small as instance type
  3. select 15 GiB of storage.
  4. ssh into your AWS instance
(* RapidChain: Scaling Blockchain via Full Sharding *)
(* OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding https://eprint.iacr.org/2017/406.pdf *)
(* ida, kademlia, cross-verify, reshard, bootstrap *)
(* opt: batch, pipeline, sparsify *)
type state (* utxo state: transaction id, row *)
type signature (* public-key signature *)
@olih
olih / jq-cheetsheet.md
Last active May 15, 2024 22:26
jq Cheet Sheet

Processing JSON using jq

jq is useful to slice, filter, map and transform structured json data.

Installing jq

On Mac OS

brew install jq

@sergeyhush
sergeyhush / jenkins-create-node.sh
Last active September 19, 2022 11:38
Jenkins create new node
#!/bin/bash
JENKINS_URL=$1
NODE_NAME=$2
NODE_SLAVE_HOME='/home/build/slave'
EXECUTORS=1
SSH_PORT=22
CRED_ID=$3
LABELS=build
USERID=${USER}