Skip to content

Commit

Permalink
Merge pull request #330 from neonlabsorg/main
Browse files Browse the repository at this point in the history
Merge recent content updates to production
  • Loading branch information
himaster authored Oct 17, 2024
2 parents c0f22bb + d869fa6 commit 30268c3
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 21 deletions.
4 changes: 2 additions & 2 deletions docs/developing/dev_environment/local_proxy_remote_solana.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export SOLANA_KEY_FOR_EVM_CONFIG=<YOUR_SOLANA_PUBLIC_KEY>
Please note that public Solana nodes have [rate limits](https://solana.com/docs/core/clusters) and they may not work with the local Neon Proxy.
If you want to host the local instance on your end you need a Solana node with no rate limits. You can set up your own node or just request one from a provider like P2P, Everstake or QuickNode.

3. Download the files neede to run services:
3. Download the files needed to run services:
```bash
# docker-compose file
wget https://raw.githubusercontent.com/neonlabsorg/neon-proxy.py/develop/docker-compose/docker-compose-ro.yml
Expand All @@ -107,7 +107,7 @@ docker-compose -f docker-compose-ro.yml up -d
```

5. Check the local environment.
You can ensure that start is succesfull by service statuses:
You can ensure that start is succesful by service statuses:
```console
dbcreation - Exited
indexer - Up
Expand Down
2 changes: 1 addition & 1 deletion docs/evm_compatibility/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ for (uint256 i = 0; i < 32; i++) {
<!-- todo looks like these code snippets will benefit at least a sentence to explain list vs map which is better and why -->

### Heap size
Ethereum-like transactions are executed by Neon EVM inside [Solana's Berkeley Packet Filter (BPF)](https://docs.solana.com/developing/on-chain-programs/overview#berkeley-packet-filter-bpf). The BPF has heap memory limit of 256 KB, i.e. the size of the heap allocated to a contract call, is limited to 256 KB.
Ethereum-like transactions are executed by Neon EVM inside [Solana's Berkeley Packet Filter (BPF)](https://solana.com/docs/core/programs#berkeley-packet-filter-bpf). The BPF has heap memory limit of 256 KB, i.e. the size of the heap allocated to a contract call, is limited to 256 KB.

:::info

Expand Down
29 changes: 13 additions & 16 deletions docs/evm_compatibility/precompiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,22 @@ proofedDate: na
iterationBy: na
includedInSite: true
approvedBy: na
comment: From meet>> Requires supported precompiles Anton can provide + explanation of WHY they are not supported #3 Requires a list of native precomiled contracts Anton can provide by slack [actually, the yellow paper https://ethereum.github.io/yellowpaper/paper.pdf is not a great source for the opcodes -- using docs instead]
comment: We need to get the custom precompile addresses
---

## Precompiled EVM contracts

Currently, Neon EVM supports the majority of [precompiled contracts](https://www.evm.codes/precompiled?fork=merge)

## Unsupported precompiled EVM contracts

There are some precompiled EVM contracts that Neon EVM does not support.

Contracts written in the Solidity language will not be executed in Neon EVM if they contain calls to the following:

- bigModExp — Used for efficient RSA verification inside an EVM, as well as other forms of number theory-based cryptography
- bn256Add — Performs addition on the elliptic curve operations
- bn256ScalarMult — Performs scalar multiplication on the elliptic curve operations
- bn256Pairing — Elliptic curve pairing operations to perform zkSTARKs verification within the block gas limit

> The Neon EVM requires the implementation of system calls in Solana to support these contracts in the future.

<!-- todo We have our own native Precompiled contracts -- need to list those and provide addresses -->
| Address | Name | Compatibility |
| ------- | ---------------- | ------------------------------------ |
| 0x01 | ecRecover | ![Supported](img/done.ico) |
| 0x02 | SHA2-256 | ![Supported](img/done.ico) |
| 0x03 | RIPEMD-160 | ![Supported](img/done.ico) |
| 0x04 | identity | ![Supported](img/done.ico) |
| 0x05 | modexp | ![Not Supported](img/false-copy.png) |
| 0x06 | ecAdd | ![Supported](img/done.ico) |
| 0x07 | ecMul | ![Supported](img/done.ico) |
| 0x08 | ecPairing | ![Supported](img/done.ico) |
| 0x09 | blake2f | ![Supported](img/done.ico) |
| 0x0a | point evaluation | ![Not Supported](img/false-copy.png) |
3 changes: 2 additions & 1 deletion docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,8 @@ const config = {
'@docusaurus/plugin-client-redirects',
{
redirects: [
{ from: '/docs', to: '/docs/quick_start' }
{ from: '/docs', to: '/docs/quick_start' },
{ from: '/docs/developing/integrate/oracles/integrating_api3', to: '/docs/quick_start' }
]
}
]
Expand Down
3 changes: 3 additions & 0 deletions linkcheck.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@
{
"pattern": "^https://thegraph.neonevm.org/index-node/graphql"
},
{
"pattern": "^https://solscan.io/"
},
{
"pattern": "^https://phantom.app"
}
Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ const sidebars = {
'developing/integrate/wallets/integrating_web3auth',
'developing/integrate/oracles/integrating_chainlink',
'developing/integrate/oracles/integrating_pyth',
'developing/integrate/oracles/integrating_api3',
// 'developing/integrate/oracles/integrating_api3', integrating_api3 item is blocked (detalis are in TBA-195)
'developing/integrate/middleware/the-graph',
'developing/integrate/indexer/flair',
'developing/integrate/indexer/envio',
Expand Down

0 comments on commit 30268c3

Please sign in to comment.