Skip to content

Instantly share code, notes, and snippets.

@emostov
emostov / progressive-wallet.md
Last active July 25, 2025 01:45
Retail Friendly Wallet for Progressive Security

There is currently a significant gap in the market for power users who desire the security of hardware wallets like Ledger but prefer the flexibility of using standard devices. These users may also want the option to eventually transition some of their accounts to arbitrary threshold approval systems similar to Gnosis Safe. This self-service wallet aims to provide an extremely simple initial setup and day to day usage similar to Phantom, while offering power users the ability to progressively add sophisticated access controls that can scale from personal use to enterprise environments.

Core Features

Seamless Multi-Device Access

  • Login on any device by approving from an already-authenticated device (no manual seed phrase entry required)

Progressive Multi-Signature Support

Thoughts on how to address LRT threat and delegator apathy:

A primary threat to Eigen Layer (EL) is the centralization of stake. Currently delegators are likely "blindly" chasing airdrop points and/or depositing into LRTs that create incentivizes antithetical to a successful DPoS ecosystem. I hypothesize that the threats likely fall into two groups

    1. apathetic delegators that are not pricing in the risk associated with the operators they delegate to
    1. delegators that control massive pools of funds and act as a point of stake centralization (LRTs)

To address the former, the ecosystem should strongly push for information marketplaces that incentive operators and AVS teams to gain trust with delegators. This could include incentives to nominate small operators and diverse groups of operators in order to hedge risk against centralized operator failure (major downtime event due to automation, cloud provider going down etc). The EL foundation can 1) push education materials for delegators that highlight rat

  • plug in yubikey and connect it to the tk-online vm
    • to connect the yubiky click the USB icon (6th from the left) in the top menu bar
    • this should give a dropdown with devices
    • hover over the Yubico_Yubikey, this should show another dropdown with the tk-online. Click tk-online
ykman config mode FIDO+CCID
@emostov
emostov / experimentalblocks4403377traces.json
Created April 29, 2021 22:10
`/experimental/blocks/4403377/traces`
{
"at": {
"hash": "0xdb360a960cda5f3e2b697cc4e2e4a228554ca3c078a4aef93d86b9c23bafbbb7",
"height": "4403377"
},
"traces": {
"blockHash": "db360a960cda5f3e2b697cc4e2e4a228554ca3c078a4aef93d86b9c23bafbbb7",
"events": [
{
"data": {
@emostov
emostov / experimentalblocks4403377tracesoperations.json
Last active April 29, 2021 22:03
`/experimental/blocks/4403377/traces/operations`
{
"at": {
"hash": "0xdb360a960cda5f3e2b697cc4e2e4a228554ca3c078a4aef93d86b9c23bafbbb7",
"height": "4403377"
},
"operations": [
{
"phase": {
"variant": "applyExtrinsic",
"extrinsicIndex": "2"
{
"jsonrpc": "2.0",
"result": "{\"blockTrace\":{\"blockHash\":\"cdd5a44aadb99ea308bac0b3579375bba69980cb0b3e442bc68bbc298daf71d4\",\"parentHash\":\"b6c667fa00d4c7f10f49ecd1f534e97e2b5582677015b4dd85f58ee1e8d89d76\",\"tracingTargets\":\"pallet,frame,state\",\"storageKeys\":\"\",\"spans\":[{\"id\":25,\"parentId\":2,\"name\":\"on_initialize\",\"target\":\"pallet_authorship\",\"wasm\":false},{\"id\":7,\"parentId\":2,\"name\":\"on_initialize\",\"target\":\"pallet_assets::pallet\",\"wasm\":false},{\"id\":23,\"parentId\":2,\"name\":\"on_initialize\",\"target\":\"pallet_balances::pallet\",\"wasm\":false},{\"id\":2,\"parentId\":1,\"name\":\"init_block\",\"target\":\"frame_executive\",\"wasm\":false},{\"id\":12,\"parentId\":2,\"name\":\"on_initialize\",\"target\":\"pallet_randomness_collective_flip\",\"wasm\":false},{\"id\":21,\"parentId\":2,\"name\":\"on_initialize\",\"target\":\"pallet_staking\",\"wasm\":false},{\"id\":27,\"parentId\":2,\"name\":\"on_initialize\",\"target\":\"pallet_babe::pallet\",\"wasm\":false}
@emostov
emostov / rococo-local-setup.md
Last active April 29, 2021 01:14
Launch a local rococo test net with Alice & Bob

start up a local rococo testnetwork network

1 ) Start alice

cargo run -- \
  --base-path /tmp/alice \
  --chain rococo-local \
  --alice \
@emostov
emostov / signBatchTxRaw.ts
Last active March 18, 2021 20:32
Signing large (batch) transactions with txwrapper / polkadot-js
import { ApiPromise, Keyring, WsProvider } from '@polkadot/api';
import {
createSignedTx,
decode,
getRegistry,
methods,
} from '@substrate/txwrapper';
import { u8aToHex } from '@polkadot/util'
async function main(): Promise<void> {
@emostov
emostov / gist:17256cf0b1803d503b03de30c8c6235c
Created February 24, 2021 20:47
polkadot block 3804932 system_traceBlock sp-io
{
"height": "3804932",
"traceBlock": {
"block_hash": "BlockId::Hash(0xdbf978a2c96a8a4a6c4f2d6b90a90200bd0a96d0ae124a910bbb01c576c184c5)",
"events": [
{
"name": "event /home/zeke/.cargo/git/checkouts/substrate-7e08433d4c370a21/cb8eecf/primitives/io/src/lib.rs:90",
"parent_id": null,
"rel_timestamp": {
"nanos": "339235469",
@emostov
emostov / bigBatch.ts
Created February 12, 2021 19:27
big batch example
import { ApiPromise, Keyring, WsProvider } from '@polkadot/api';
import {
createSignedTx,
createSigningPayload,
decode,
getRegistry,
methods,
} from '@substrate/txwrapper';
async function main(): Promise<void> {