Skip to content

Instantly share code, notes, and snippets.

@justinschuldt
justinschuldt / main.go
Created October 27, 2022 13:16
Golang implement encoding.BinaryMarshaler & encoding.BinaryUnmarshaler example
// Golang program to illustrate the implementation of
// a encoding.BinaryMarshaler interface, and
// a encoding.BinaryUnmarshaler interface for a struct.
package main
import (
"bytes"
"encoding/binary"
"fmt"
@justinschuldt
justinschuldt / launch.json
Last active February 2, 2023 21:36
wormhole node debugger config
{
"version": "0.2.0",
"configurations": [
{
"name": "Connect to server",
"type": "go",
"request": "attach",
"mode": "remote",
"remotePath": "${workspaceFolder}",
"port": 2345,
@justinschuldt
justinschuldt / Tiltfile
Created August 4, 2022 21:30
wormhole devnet cluster monitoring
# grafana + prometheus for node metrics
if node_metrics:
dashboard_files = listdir("dashboards")
dashboards = {}
for d in dashboard_files:
file_name = d.split("/")[-1]
if file_name.endswith(".json"):
dashboards[file_name] = encode_json(read_json(d))
@justinschuldt
justinschuldt / Tiltfile
Created May 18, 2022 09:12
grafana + prometheus for wormhole's devnet
config.define_bool("node_metrics", False, "Enable Prometheus & Grafana for Guardian metrics")
node_metrics = cfg.get("node_metrics", False)
# grafana + prometheus for node metrics
if node_metrics:
import { ethers } from "ethers";
const rpc = 'http://localhost:8545'
const senderAddress = "0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1"
const senderPrivateKey = "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d" // ganche default
const addresses = [
"0xE11BA2b4D45Eaed5996Cd0823791E0C93114882d",
"0xd03ea8624C8C5987235048901fB614fDcA89b117",
"0x95cED938F7991cd0dFcb48F0a06a40FA1aF46EBC",
"0x3E5e9111Ae8eB78Fe1CC3bb8915d5D461F3Ef9A9",
@justinschuldt
justinschuldt / Tiltfile
Created March 18, 2022 09:48
local Ethereum explorer for wormhole - WIP
config.define_bool("evm_explorer", False, "Enable EVM explorer")
evm_explorer = cfg.get("evm_explorer", False)
if evm_explorer:
k8s_yaml_with_ns("devnet/eth-devnet-ui.yaml")
k8s_resource("eth-ui-redis", resource_deps=["eth-devnet"], labels = ["evm"])
@justinschuldt
justinschuldt / grafana-prometheus.sh
Created March 18, 2022 09:43
grafana + prometheus for wormhole
# open grafana to the network
sudo docker run -d --name=grafana -h 0.0.0.0 -p 4001:3000 grafana/grafana:latest
docker run -d --name=prometheus -p 9090:9090 -v /home/justin/code/wormhole/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

Keybase proof

I hereby claim:

  • I am justinschuldt on github.
  • I am justinschuldt (https://keybase.io/justinschuldt) on keybase.
  • I have a public key ASC0NerBVM9JwJUyR0lqzXFwvXIUrWJw-gJyu97lf0qHxQo

To claim this, I am signing this object:

@justinschuldt
justinschuldt / .zshrc
Created January 27, 2022 03:07
zsh customizations
# defaults plus:
plugins=(aliases command-not-found common-aliases git gh gcloud kubectl minikube npm zsh-autosuggestions)
# search from the command line with:
# goog "string to search for"
function goog() {
emulate -L zsh
google="https://www.google.com/search?q="
@justinschuldt
justinschuldt / keybindings.json
Last active March 10, 2024 05:27
VSCode settings
// Place your key bindings in this file to override the defaults
[
{
"key": "cmd+left",
"command": "workbench.action.navigateBack",
"when": "canNavigateBack"
},
{
"key": "ctrl+-",
"command": "-workbench.action.navigateBack",