R4Nd0m k0lLEC7I0N 0F U5EFul PHindiN92 0N mY j0URney PhR0m n00b 2 1337. rAmBL1N92 aBoUt 5Ol1d17y, rE4C7, nf7, dEfi, WE83


R4Nd0m k0lLEC7I0N 0F U5EFul PHindiN92 0N mY j0URney PhR0m n00b 2 1337. rAmBL1N92 aBoUt 5Ol1d17y, rE4C7, nf7, dEfi, WE83

Subscribe to N00b21337

Subscribe to N00b21337
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
As this topic is very familiar with what I do and I saw a lot of misinformation I have an urge to explain this a bit.
Let's put this in proper context in the first place.
One of the main reasons why inscriptions exist is a need to store some arbitrary data in a decentralized and immutable way, there are 3 methods to do that
Decentralized storage like IPFS, Arweave, Swarm This method was architected to be a complement to Blockchain and sufficient for that use case. It doesn't use blockchain, it's a decentralized data storage where each data is identified with a unique hash (so each file or directory has a unique hash, once even one letter or number changes in that data we get a new hash) The downside is that you are relying on another network, for some this is a risk and it is kind of a valid point.
Inscriptions, data(calldata) in transactions Originally it was presumed there was/is just one way to store data in Blokchain and that is State Data. State data represents the current state of the blockchain, like account balances, smart contract states, and other persistent data. But there is this other way to "store" data, which is calldata or transaction data and you can put here anything from simple images to full computer games, it is also stored as part of the blockchain and it's on the same hard drive as state data. The main difference is its availability, as this is historical data, it wasn't intended to be used for any blockchain operations other than to have it stored as info on what happened before so that is how it is treated and how nodes operate with this data. Only full nodes have this data available as it's deemed less important, smart contracts can't read this data, there is no interoperability between contracts on this data, and only off-chain execution/computing can be done on this data. Because of this impaired functionality, this data is cheaper to store and that is why the current meta is inscriptions as this gives options for creators to store a lot of data for less fees.
"Onchain" data This is the most bulletproof way to store data, it is before mentioned State Data and this is also a place where you can store images, sounds etc but it's very expensive on Ethereum and very limited in the case of Bitcoin so it's not really practical to use in both cases and often its used to store just some pixel art that doesn't take much space/money.
So these were some facts, now here are some of my personal views and concerns.
First just to give praise for inscriptions, it's a "Cambrian explosion" we often see in crypto, and it's a good thing to have, we experiment permissionlessly with concepts to the max and then, in the end, see what sticks and what sucks.
Main concerns are
Sustainability
Offchain computing
There is a problem with long-term thinking and sustainability. Where are we going to store all the data in the next few decades? I don't think anyone can have some good arguments we can store terabytes and petabytes of data in blockchain nodes this way, the size of the blockchain is a burden for nodes and it is an issue, otherwise we wouldn't have all those TPS, blocksize holy wars. So what will happen, is we will have to prune blockchain data at some point and the first thing to go will be this calldata/trx data which is non-essential for blockchain to work, so guess what, all the inscriptions will probably need to move to the first solution.
And I don't see that we must store that data kind of data in blockchain in the first place, we want to store it in permissionless and decentralized storage which should be enough and is architected for that.
So let's address off-chain computing thing here. This is just heavily relying on 3rd parties to compute properly your assets and IMHO this is nonsense as Blockchain was invented in the first place not to rely on that. Bitcoin would never exist if it relied on off-chain computing, so why build this subpar solution on it. A similar thing is with Ethereum, the purpose of EVM is to compute state data and for nodes to make a consensus on that.
But just to simplify things a bit, blockchains and crypto are mostly fine and they worked properly for the last decade or so, biggest problems came when we mixed in offchain and 3rd parties into it, starting with Mt.Gox and to more recent cases where the same thing happened with FTX, Celsius, Voyager etc
Essentially they were doing off-chain “computing and playing" with values and users were relying on them, I hate to see it happening again, e.g. some off-chain platform for inscriptions will get hacked or have malicious owners and everything will get blown to pieces.
I would also like to store NFTs for cheap but think this is just the wrong way.
As this topic is very familiar with what I do and I saw a lot of misinformation I have an urge to explain this a bit.
Let's put this in proper context in the first place.
One of the main reasons why inscriptions exist is a need to store some arbitrary data in a decentralized and immutable way, there are 3 methods to do that
Decentralized storage like IPFS, Arweave, Swarm This method was architected to be a complement to Blockchain and sufficient for that use case. It doesn't use blockchain, it's a decentralized data storage where each data is identified with a unique hash (so each file or directory has a unique hash, once even one letter or number changes in that data we get a new hash) The downside is that you are relying on another network, for some this is a risk and it is kind of a valid point.
Inscriptions, data(calldata) in transactions Originally it was presumed there was/is just one way to store data in Blokchain and that is State Data. State data represents the current state of the blockchain, like account balances, smart contract states, and other persistent data. But there is this other way to "store" data, which is calldata or transaction data and you can put here anything from simple images to full computer games, it is also stored as part of the blockchain and it's on the same hard drive as state data. The main difference is its availability, as this is historical data, it wasn't intended to be used for any blockchain operations other than to have it stored as info on what happened before so that is how it is treated and how nodes operate with this data. Only full nodes have this data available as it's deemed less important, smart contracts can't read this data, there is no interoperability between contracts on this data, and only off-chain execution/computing can be done on this data. Because of this impaired functionality, this data is cheaper to store and that is why the current meta is inscriptions as this gives options for creators to store a lot of data for less fees.
"Onchain" data This is the most bulletproof way to store data, it is before mentioned State Data and this is also a place where you can store images, sounds etc but it's very expensive on Ethereum and very limited in the case of Bitcoin so it's not really practical to use in both cases and often its used to store just some pixel art that doesn't take much space/money.
So these were some facts, now here are some of my personal views and concerns.
First just to give praise for inscriptions, it's a "Cambrian explosion" we often see in crypto, and it's a good thing to have, we experiment permissionlessly with concepts to the max and then, in the end, see what sticks and what sucks.
Main concerns are
Sustainability
Offchain computing
There is a problem with long-term thinking and sustainability. Where are we going to store all the data in the next few decades? I don't think anyone can have some good arguments we can store terabytes and petabytes of data in blockchain nodes this way, the size of the blockchain is a burden for nodes and it is an issue, otherwise we wouldn't have all those TPS, blocksize holy wars. So what will happen, is we will have to prune blockchain data at some point and the first thing to go will be this calldata/trx data which is non-essential for blockchain to work, so guess what, all the inscriptions will probably need to move to the first solution.
And I don't see that we must store that data kind of data in blockchain in the first place, we want to store it in permissionless and decentralized storage which should be enough and is architected for that.
So let's address off-chain computing thing here. This is just heavily relying on 3rd parties to compute properly your assets and IMHO this is nonsense as Blockchain was invented in the first place not to rely on that. Bitcoin would never exist if it relied on off-chain computing, so why build this subpar solution on it. A similar thing is with Ethereum, the purpose of EVM is to compute state data and for nodes to make a consensus on that.
But just to simplify things a bit, blockchains and crypto are mostly fine and they worked properly for the last decade or so, biggest problems came when we mixed in offchain and 3rd parties into it, starting with Mt.Gox and to more recent cases where the same thing happened with FTX, Celsius, Voyager etc
Essentially they were doing off-chain “computing and playing" with values and users were relying on them, I hate to see it happening again, e.g. some off-chain platform for inscriptions will get hacked or have malicious owners and everything will get blown to pieces.
I would also like to store NFTs for cheap but think this is just the wrong way.

How to get Uniswap V3 liquidity pool address for whitelisting?
Similar to what we did for Uniswap V2 on how to find address of smart contract pool that will be generated we can do the same for V3 https://mirror.xyz/n00b21337.eth/0QkNt3NnLnnUSy4jFmWnaeRr_38Z3wlYKKf1O6URG3c Depending on what chain we are at, you can find all the addresses of Factories here https://github.com/Uniswap/sdk-core/blob/5365ae4cd021ab53b94b0879ec6ceb6ad3ebdce9/src/addresses.ts#L135 Aim for the v3CoreFactoryAddress values.**So there are a few methods to do that, one could be to us...
Clear browser storage when developing
Different wallet scripts usually use window.localStorage for saving data for reuse and determination of what is the status of wallet connect, sometimes this could be awire and you need to clear it, you could delete all in browser like cookies, stored data and all the rest but you can also call first this in consolewindow.localStorage to check what is saved and then you can delete it all withlocalStorage.clear(); orlocalStorage.removeItem("name of localStorage variable you want to remov...
Example of implementation of EIP 4906 metadata updates
EIP 4096 has an interesting method of updating your metadata with events, more details here. https://eips.ethereum.org/EIPS/eip-4906 So lets see how to implement it with an example. First you need to create a file with interface that has this code in itpragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; /// @title EIP-721 Metadata Update Extension interface IERC4906 is IERC165 { /// @dev This event emits when the metadata of a token is changed. /// Third-...

How to get Uniswap V3 liquidity pool address for whitelisting?
Similar to what we did for Uniswap V2 on how to find address of smart contract pool that will be generated we can do the same for V3 https://mirror.xyz/n00b21337.eth/0QkNt3NnLnnUSy4jFmWnaeRr_38Z3wlYKKf1O6URG3c Depending on what chain we are at, you can find all the addresses of Factories here https://github.com/Uniswap/sdk-core/blob/5365ae4cd021ab53b94b0879ec6ceb6ad3ebdce9/src/addresses.ts#L135 Aim for the v3CoreFactoryAddress values.**So there are a few methods to do that, one could be to us...
Clear browser storage when developing
Different wallet scripts usually use window.localStorage for saving data for reuse and determination of what is the status of wallet connect, sometimes this could be awire and you need to clear it, you could delete all in browser like cookies, stored data and all the rest but you can also call first this in consolewindow.localStorage to check what is saved and then you can delete it all withlocalStorage.clear(); orlocalStorage.removeItem("name of localStorage variable you want to remov...
Example of implementation of EIP 4906 metadata updates
EIP 4096 has an interesting method of updating your metadata with events, more details here. https://eips.ethereum.org/EIPS/eip-4906 So lets see how to implement it with an example. First you need to create a file with interface that has this code in itpragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; /// @title EIP-721 Metadata Update Extension interface IERC4906 is IERC165 { /// @dev This event emits when the metadata of a token is changed. /// Third-...
No activity yet