Dev @ sigp

Joined August 2018
2 Photos and videos
Shane retweeted
Catch @Block_Shane tomorrow at EthCC. Shane will be on the Hepburn Stage at 15:25 - 15:45 (CEST), asking what it would look like if DVT infrastructure borrowed Ethereum's best habits. SIPs, specs, interop, client diversity and why that matters for trust-minimised, fault-tolerant staking.
1
11
552
Shane retweeted
ePBS breakout call 24 recap! Agenda: github.com/ethereum/pm/issue… • New spec release v1.6.0-beta.0 with lots of ePBS updates. • Clients have containers fork boilerplate implemented. • In 2 weeks we'll know if devnet-0 is possible by end of Oct. • Clients should create an epbs-devnet-0 branch for ethpandaops. • DataColumnSidecar may need a slot field (not a big concern). • Moving blob KZG commitments outside the block looks difficult. • ForkChoiceNode will be converted from a container to a dataclass. • The race to fully implement devnet-0 is on!
3
11
622
Shane retweeted
ePBS breakout call 23 recap! Agenda: github.com/ethereum/pm/issue… • We will fix/merge a few spec PRs today. • Terence wants to us discuss fork-choice test case/scenarios. • We are still planning for devnet0 at the end of October! Will be a tough deadline though. Devnet0 will contain at least one client; Teku is currently the furthest along. • For the beacon state we have agreed to: keep latest_execution_payload_header as it is today, remove latest_block_hash field, and add new latest_execution_payload_bid field. • Alex Stokes and others want to refactor get_expected_withdrawals spec because it’s become quite complex/unwieldy. For devnet0, we agreed to keep the withdrawals code as it is now. • Shane lead a discussion on necessary beacon API changes for ePBS. Requesting more reviews from maintainers & client devs for his PR (github.com/ethereum/beacon-A…). We agree to make a V4 version of the GET /validator/blocks/{slot} endpoint. • Potuz learns that Jim McDonald retired :) • Bharath opened discussions on how eBPS will work existing out-of-protocol software like mev-boost. Potuz and some others lean towards not supporting this & only allowing payloads from in-protocol, staked builders. • Owen raised a good question about whether or not in-protocol builders will exist (and be able to submit payloads) at the first slot after the fork. This will require further investigation.
3
18
2,326
Shane retweeted
• What makes Injective different • Injective plug-and-play modules • Injective's interoperability (inEVM, inSVM) covered in an episode below by @Block_Shane from @injective
Building in a Multi-VM Environment Presented by @Block_Shane from @injective Watch the full video below 👇
1
4
562
Shane retweeted
.@Block_Shane @EthereumDenver sahnasida Multi-VM muhitida qurish haqida suhbatlashdi 🏗️ #Ninja #INJ #Injective x.com/EthereumDenver/status/…

LIVE ON STAGE NOW! @Block_Shane from @Injective is presenting "Building in a Multi-VM Environment." Watch the clip below 👇
1
1
260
Shane retweeted

Building in a Multi-VM Environment Presented by @Block_Shane from @injective Watch the full video below 👇
2
3
1,559
Shane retweeted
. @Block_Shane a urcat pe scenă la @EthereumDenver pentru a vorbi despre construirea într-un mediu Multi-VM 🏗️ x.com/EthereumDenver/status/…

LIVE ON STAGE NOW! @Block_Shane from @Injective is presenting "Building in a Multi-VM Environment." Watch the clip below 👇
1
1
95
Shane retweeted
8 Dec 2023
.@Injective_ is a Layer 1 blockchain that aims to democratize access to financial markets. How? By making it easy to to build & deploy apps across multiple chains like @Cosmos, @Ethereum, @Solana & more! Dive into the world of Injective: ledger.com/academy/what-is-i…
21
77
389
44,048
Shane retweeted
Basic blockchain knowledge: how does wallet apps derive your address from your seed phrase? This is a rather complex process, involving many steps, summarized in the diagram below: #1 --> #2 1st step is to convert your human-readable seed phrase aka mnemonic phrase (#1 in the diagram) into a raw binary seed (#2), aka entropy. The standardized algorithm for this conversion is Bitcoin Improvement Proposal (BIP)-39: github.com/bitcoin/bips/blob…. Despite the "bitcoin" in the name, this standard is adopted by all other chains as well. #2 --> #3 Next we derive the private/public key pair (#3) from the seed. The algorithm for this is defined by BIP-32: github.com/bitcoin/bips/blob… Here it gets a bit complicated. The BIP-32 algorithm takes 2 parameters: the seed, and another thing called the derivation path. The idea is that people may have multiple wallets for different purposes, but they probably don't want to keep record of many seed phrases. BIP-32 allows users to use only one seed, but combine it with various derivation paths to generate different wallet addresses. The specific format of derivation path is standardized by yet another BIP, BIP-44 (github.com/bitcoin/bips/blob…). It looks like this: m / purpose' / coin_type' / account' / change / address_index The two fields that are worth mentioning are coin_type and address_index. The latter is easy to understand-- your first address uses index 0, the 2nd uses 1, so on. When you click "Add account" in MetaMask to generate a new address, what it does behind the scene is to increment the value of this address_index. coin_type is where it gets a bit controversial, at least within the Cosmos ecosystem. This parameter designates which chain the account is intended for. Satoshi Labs, the creator of Trezor wallet, maintains a registry called SLIP-0044 (github.com/satoshilabs/slips…) that allocates a number for each chain. Bitcoin gets coin_type 0, Litecoin gets 2, Dogecoin 3, Ethereum 60, so on. The controversial part is that deriving a different address for each chain may create problems for user experience. There has been a debate on whether all Cosmos chains should use the same coin_type, 118, that of Cosmos Hub. Another opinion is that Cosmos chains should just align with Ethereum and use 60. Let's not go too deep into the rabbit hole for now. #3 --> #4 Now we derive the address in its raw binary form (#4) from the public key. This is where it gets really messy. Unlike the previous steps which are well standardized, here each chain has its own methodology. To name a few: Bitcoin address := ripemd160(sha256(pubkey)) Ethereum address := keccak256(pubkey)[-20:] Cosmos address := sha256(sha256(typ) || pubkey) **1 Sui address := blake2b256(flag || pubkey) **2 Here sha256, ripemd160, keccak256, and blake2b256 are all cryptographic hash functions. **1 `typ` is a string designating the pubkey type. Typically the Protobuf typeURL is used. See: github.com/cosmos/cosmos-sdk… **2 `flag` is a single byte that designates which ECDSA curve the account uses. See: docs.sui.io/concepts/cryptog… #4 --> #5 Our address is now in its raw binary form, meaning a few hundred 0s and 1s. The final step is to encode it to a human-readable form. Here's another place where chains take different approaches. There're 3 encoding schemes used: - bech32: Bitcoin and Cosmos - hex: Ethereum, Aptos, Sui - base58: Solana What we should know is that the encoding schemes are just for the ease-of-use by humans. Blockchains operates on raw binaries and don't care how humans encode them. The very same address can look totally different when encoded in various schemes but its underlying bytes are unchanged. For example, this is the hex-encoded address for vitalik.eth: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 This is the very same address in Bech32 encoding: cosmos1mrdxhunfvjhe6lhdncp72dq46da2jcz9d9sh93 In base58: 42E5f5XLWJkBaQc3DdthcgUycdYQ Implementation I have a Rust code snippet for deriving the address (using Bitcoin's approach and bech32 encoding) for those who're interested: gist.github.com/larry0x/9239… ------------------- That's it! Thanks for tuning in to my lecture. Let's summarize the nerd words you learned today so that you can show off to your friends: - BIP-32 - BIP-39 - BIP-44 - SLIP-0044 - coin_type - account_index - bech32 - base58 - hex
17
23
157
31,472
Shane retweeted
20 Oct 2023
.@Injective_'s order-book has done over $46M in volume in the last 24 hours. What many do not know... So many new markets coming to the CLOB soon, dozens of new dapps which will integrate the orderbook poised to deploy to mainnet in the coming quarter, illuminate hackathon w Google Cloud upon us The future is so damn bright
10
30
134
14,773
Shane retweeted
4 Oct 2023
Me @olafriche and @BabakekereOfKP decided to give out society in what we receiving from @Injective_, as an act of charity and mode of offline promotion for #injectivel #blockchain Check trends for the full updates⤵️⤵️
29
25
114
19,066
Shane retweeted
Have you ever imagined you would be able to write one single command and immediately start building dApps on top of @Injective_? Whether it's a DEX, Smart Contract, or a fully customizable dApp, now it's a single command away! And we support both React and Vue (Nuxt) out of the box! 🔥🥷🏻 docs.ts.injective.network/bu…

5
31
103
12,040
Shane retweeted
🧵 3/7 We design mechanisms for privacy and infrastructure protocols which make them useful, valuable, and secure – the three principles of tokenomics.
1
2
9
495
Shane retweeted
🧵1/x Buttcoin: A privacy-preserving, sybil-resistant identity solution #ETHCC #ETHGlobal ETHParis 2023 by @SenseiFugazi, karrenbelt.eth, @ajeykb, courtesy of @tokendynamics
80
93
652
236,833
Shane retweeted
Injective devs are dedicated on another level 🥷 Shout out to @Block_Shane!
26
45
381
19,954
Shane retweeted
Powering up for the new week 💪
70
129
876
250,688
Shane retweeted
The Injective Explorer has been upgraded to include details for all markets on exchange dApps built on @Injective_! Simply click into any active market to view tick sizes, maker rebates and more. explorer.injective.network/m…
6
46
248
12,688
Shane retweeted
10 Feb 2023
Following the @Uniswap vote, @wormholecrypto is likely the largest cross-chain communication layer for Web3. Fun fact: Wormhole has integrated select few non-EVM chains to date (ex: @solana, @Aptos_Network & @Injective_). Thankful to be working with a rockstar crowd!
8
12
64
12,006