You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: public/content/about/index.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,6 +119,10 @@ Make sure you read [our principles](/contributing/design-principles/) and [our s
119
119
120
120
We welcome feedback on our design principles, design system and the style guide. Remember, ethereum.org is for the community, by the community.
121
121
122
+
## License {#license}
123
+
124
+
The ethereum.org website is open source and built under an [MIT License](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE) unless otherwise specified. More on [terms of use](/terms-of-use/) of ethereum.org.
125
+
122
126
## Open jobs {#open-jobs}
123
127
124
128
Although this website is open-source and anyone can work on it, we do have a team dedicated to ethereum.org and other Ethereum Foundation web projects.
- Dashboard with Request Explorer and Mempool Watcher
371
+
- NFT data API and Webhook notify
372
+
- Pay in Crypto
373
+
- External support for extra behavior requirements
374
+
330
375
-[**Watchdata**](https://watchdata.io/)
331
376
-[Docs](https://docs.watchdata.io/)
332
377
- Features
@@ -338,6 +383,7 @@ Here is a list of some of the most popular Ethereum node providers, feel free to
338
383
- Support for various nodes
339
384
- Resource scaling
340
385
- High processing speeds
386
+
341
387
-[**ZMOK**](https://zmok.io/)
342
388
-[Docs](https://docs.zmok.io/)
343
389
- Features
@@ -346,39 +392,18 @@ Here is a list of some of the most popular Ethereum node providers, feel free to
346
392
- Unlimited TX fee and infinite Gas for sending transactions
347
393
- Fastest getting of the new block and reading of the blockchain
348
394
- The best price per API call guarantee
349
-
-[**Chainbase**](https://www.chainbase.com/)
350
-
-[Docs](https://docs.chainbase.com)
395
+
396
+
-[**Zeeve**](https://www.zeeve.io/)
397
+
-[Docs](https://www.zeeve.io/docs/)
351
398
- Features
352
-
- Highly available, fast, and scalable RPC service
353
-
- Multi-chain support
354
-
- Free tariffs
355
-
- User-friendly dashboard
356
-
- Provides blockchain data services beyond RPC
399
+
- Enterprise-grade no-code automation platform providing deployment, monitoring and management of Blockchain nodes and networks
400
+
- 30+ Supported Protocols & Integrations, and adding more
401
+
- Value added web3 infrastructure services like decentralized storage, decentralized identity and Blockchain Ledger data APIs for real-world use cases
402
+
- 24/7 support and proactive monitoring ensure the health of nodes all the time.
403
+
- RPC endpoints offer authenticated access to APIs, hassle-free management with intuitive dashboard and analytics.
404
+
- Provides both managed cloud and bring your own cloud options to choose from and supports all major cloud providers like AWS, Azure, Google Cloud, Digital Ocean and on-premise.
405
+
- We use intelligent routing to hit the node closest to your user every time
357
406
358
-
[**Zeeve**](https://www.zeeve.io/)
359
-
360
-
-[Docs](https://www.zeeve.io/docs/)
361
-
- Features
362
-
- Enterprise-grade no-code automation platform providing deployment, monitoring and management of Blockchain nodes and networks
363
-
- 30+ Supported Protocols & Integrations, and adding more
364
-
- Value added web3 infrastructure services like decentralized storage, decentralized identity and Blockchain Ledger data APIs for real-world use cases
365
-
- 24/7 support and proactive monitoring ensure the health of nodes all the time.
366
-
- RPC endpoints offer authenticated access to API’s, hassle free management with intuitive dashboard and analytics.
367
-
- Provides both managed cloud and bring your own cloud options to choose from and supports all major cloud providers like AWS, Azure, Google Cloud, Digital Ocean and on-premise.
368
-
- We use intelligent routing to hit the node closest to your user every time
Copy file name to clipboardExpand all lines: public/content/developers/tutorials/short-abi/index.md
-27Lines changed: 0 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,6 @@ The vast majority of transactions access a contract from an externally-owned acc
51
51
Most contracts are written in Solidity and interpret their data field per [the application binary interface (ABI)](https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding).
52
52
53
53
However, the ABI was designed for L1, where a byte of calldata costs approximately the same as four arithmetic operations, not L2 where a byte of calldata costs more than a thousand arithmetic operations.
54
-
For example, [here is an ERC-20 transfer transaction](https://kovan-optimistic.etherscan.io/tx/0x7ce4c144ebfce157b4de99d8ad53a352ae91b57b3fa06d8a1c79439df6bfa998).
55
54
The calldata is divided like this:
56
55
57
56
| Section | Length | Bytes | Wasted bytes | Wasted gas | Necessary bytes | Necessary gas |
@@ -98,8 +97,6 @@ It would make a production ERC-20 contract useless, but it makes life easier whe
98
97
} // function faucet
99
98
```
100
99
101
-
[You can see an example of this contract being deployed here](https://kovan-optimistic.etherscan.io/address/0x950c753c0edbde44a74d3793db738a318e9c8ce8).
[This is the contract that transactions are supposed to call with shorter calldata](https://github.com/qbzzt/ethereum.org-20220330-shortABI/blob/master/contracts/CalldataInterpreter.sol).
@@ -368,17 +365,6 @@ Create a transfer transaction. The first byte is "0x02", followed by the destina
368
365
}) // describe
369
366
```
370
367
371
-
### Example {#example}
372
-
373
-
If you want to see these files in action without running them yourself, follow these links:
374
-
375
-
1.[Deployment of `OrisUselessToken`](https://kovan-optimistic.etherscan.io/tx/1410744) to [address `0x950c753c0edbde44a74d3793db738a318e9c8ce8`](https://kovan-optimistic.etherscan.io/address/0x950c753c0edbde44a74d3793db738a318e9c8ce8).
376
-
2.[Deployment of `CalldataInterpreter`](https://kovan-optimistic.etherscan.io/tx/1410745) to [address `0x16617fea670aefe3b9051096c0eb4aeb4b3a5f55`](https://kovan-optimistic.etherscan.io/address/0x16617fea670aefe3b9051096c0eb4aeb4b3a5f55).
377
-
3.[Call to `faucet()`](https://kovan-optimistic.etherscan.io/tx/1410746).
378
-
4.[Call to `OrisUselessToken.approve()`](https://kovan-optimistic.etherscan.io/tx/1410747).
379
-
This call has to go directly to the token contract because the processing relies on `msg.sender`.
380
-
5.[Call to `transfer()`](https://kovan-optimistic.etherscan.io/tx/1410748).
381
-
382
368
## Reducing the cost when you do control the destination contract {#reducing-the-cost-when-you-do-control-the-destination-contract}
383
369
384
370
If you do have control over the destination contract you can create functions that bypass the `msg.sender` checks because they trust the calldata interpreter.
Note that `transferFromTx` requires two address parameters: the giver of the allowance and the receiver.
590
576
591
-
### Example {#example-2}
592
-
593
-
If you want to see these files in action without running them yourself, follow these links:
594
-
595
-
1.[Deployment of `OrisUselessToken-2`](https://kovan-optimistic.etherscan.io/tx/1475397) at address [`0xb47c1f550d8af70b339970c673bbdb2594011696`](https://kovan-optimistic.etherscan.io/address/0xb47c1f550d8af70b339970c673bbdb2594011696).
596
-
2.[Deployment of `CalldataInterpreter`](https://kovan-optimistic.etherscan.io/tx/1475400) at address [`0x0dccfd03e3aaba2f8c4ea4008487fd0380815892`](https://kovan-optimistic.etherscan.io/address/0x0dccfd03e3aaba2f8c4ea4008487fd0380815892).
597
-
3.[Call to `setProxy()`](https://kovan-optimistic.etherscan.io/tx/1475402).
598
-
4.[Call to `faucet()`](https://kovan-optimistic.etherscan.io/tx/1475409).
599
-
5.[Call to `transferProxy()`](https://kovan-optimistic.etherscan.io/tx/1475416).
600
-
6.[Call to `approveProxy()`](https://kovan-optimistic.etherscan.io/tx/1475419).
601
-
7.[Call to `transferFromProxy()`](https://kovan-optimistic.etherscan.io/tx/1475421).
602
-
Note that this call comes from a different address than the other ones, `poorSigner` instead of `signer`.
603
-
604
577
## Conclusion {#conclusion}
605
578
606
579
Both [Optimism](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92) and [Arbitrum](https://developer.offchainlabs.com/docs/special_features) are looking for ways to reduce the size of the calldata written to L1 and therefore the cost of transactions.
0 commit comments