Skip to content

Instantly share code, notes, and snippets.

View christroutner's full-sized avatar
💭
https://FullStack.cash is where I play.

Chris Troutner christroutner

💭
https://FullStack.cash is where I play.
View GitHub Profile
@christroutner
christroutner / psf-helia-public-circuit-relays.json
Last active March 5, 2024 00:28
A JSON file containing public PSF v2 Circuit Relays (IPFS) running Helia
{
"browser": [
],
"node": [
{
"name": "psf1.tokentiger.com",
"multiaddr": "/ip4/143.198.70.59/tcp/5101/p2p/12D3KooWMbU9R49aiYUeFBpxFYK6PggacoeMydaZaR2dzDpWgcA6",
"connected": false,
"ipfsId": "12D3KooWMbU9R49aiYUeFBpxFYK6PggacoeMydaZaR2dzDpWgcA6",
"isBootstrap": true,
@christroutner
christroutner / ipfs-port-control.md
Last active May 26, 2023 21:58
IPFS Port Control

UFW commands for IPFS resource management

It's handy to use UFW to limit the amount of bandwidth, resources, and ultimately the number of peers that IPFS can connect to. IPFS can be a resource hog, and there are not internal tools to mitigate it. The official stance from IPFS is that bandwidth and firewall controlls should be implemented by the host OS, not by their software.

All ipfs-coord-esm consumers use port 4001 or 4003 and TCP. No peers use UDP or QUIC (which runs on UDP). So any connections to peers using these protocols are wasted resources.

Allow SSH connections:

  • sudo ufw allow ssh

DENY incoming UDP connections on port 4001:

@christroutner
christroutner / bitbay-bch-return.md
Last active April 5, 2023 16:48
BitPay BCH Return

Summary

I'm having a difficult time communicating with the BitBay support for what should be a simple refund. This document was created in order to better share links and make it easier for the BitPay support staff to facilitate a refund.

Short Version

I paid BitPay invoice CSw5bWhtu41e1dcrSyiKt4, which resolved in my Electron Cash wallet as bitcoincash:qzfg5e8zmeauj3wx603hg3eyw4ynasa73uqyucjt3m. I need BitPay support staff to review invoice CSw5bWhtu41e1dcrSyiKt4 and refund the Bitcoin Cash sent to that invoice.

Long Version

@christroutner
christroutner / slp-token-icons.md
Last active February 15, 2023 23:34
Intro to SLP Token Icons

Introduction to SLP Token Icons

There have been a handful of attempts to create standards around SLP token icons. All approaches prior to the PSF specifications relied on centralized services. The PS002 and PS007 specifications define the use of mutable (changable) data in SLP tokens. Inside this mutable data, a URL to the token icon can be placed. The big advantage of these specifications is that the token icon can be changed at any time by the token creator. It is permissionless, secure, and the process does not rely on any centralized services.

Hands On Examples

  • This NFT Collector App shows examples of NFTs created using SLP tokens and mutable data (including token icons).
  • You c
@christroutner
christroutner / cross-chain-stablecoin-bridge.md
Last active January 3, 2023 21:24
Cross Chain Stablecoin Bridge

Cross-Chain Stablecoin Bridge

Overview

This document sketches-out the construction and operation for a 'token bridge' with the ability to move a stablecoin (or other token) between two blockchains. This would allow the best stablecoins across all chains to be offered on chains with less capability.

The bridge described in this document is 'custodial' in the sense that is in sole possession of the funds for a few minutes, before it transfers the value between chains. However, it is 'trust-minimized' in the sense that every function of the bridge results in on-chain transactions that can be audited and verified by anyone in the world. Beyond the technical considerations, operating this bridge under the control of a business registered in a crypto-friendly jurisdiction would benefit the deployment and long-term operation of the bridge.

Architecture

The diagram below shows the canonical workflow for transferring a stablecoin between the AVAX and BCH chains. Any two blockchains can be used that support

@christroutner
christroutner / minimal-slp-wallet.html
Created December 15, 2022 13:47
minimal-slp-wallet HTML Example
<!DOCTYPE html>
<!--
This HTML creates a web page that retrieves the latest copy of the web app
that was uploaded to Filecoin. It retrieves the hash for the
site from the BCH blockchain, then navigates the browser to that site, which
is served by the Filecoin blockchain.
-->
<html lang="en">
@christroutner
christroutner / radicle-packages-pt-2.md
Last active December 9, 2022 18:18
Radicle Packages - Research Notes Part 2

Radicle Package Releases Research - Part 2

This summary report extends the first part of research. This second part of the research focuses on Part 4 of Milestone 1 of the research grant: Verdaccio integration. As the research unfolded, it became clear that it would be best to focus on part 4 (Verdaccio integration) first, because the lessons learned from this research informs the discussion and research for part 2 (package signing) and part 3 (package uploads).

This written report summarizes the research in this video. That video drills down into a lot of the technical details, whereas this report summarizes the reseach at a high-level. This report will be shared with the Radicle community in order to foster discussion on the trade-offs around package signing and security.

Summary

The report belo

@christroutner
christroutner / psf-dex-setup.md
Last active November 29, 2022 20:39
PSF DEX Setup
@christroutner
christroutner / radicle-package-releases-research-notes.md
Last active November 21, 2022 22:44
Radicle Package Releases Research Notes

Radicle Package Releases Research Notes

Overview

This gist is a summary and blog of research notes I took while researching the possibility of using Radicle as a platform for generating and distributing software packages, such as npm packages. This is part of a research grant through Radicle.

Here is a short summary video of this gist:

Watch the video

Summary

@christroutner
christroutner / radicle-pm-grant.md
Last active November 7, 2022 21:07
Radicle Package Manager Grant Application

Radicle Grant Application - Package Manager

  • Project Name: Package Manager Research
  • Team Name: Chris Troutner
  • Payment Address: 0x4fdcEcf844B578d0190AFe267c498B2a0253A084
  • Level: 🌱-Seed

Project Overview 📄

The scope of this project is to conduct research into package management systems. The goal is to evaluate the work necessary to create an embedded package registry system within Radicle, similar to the GitHub Packages.