Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neonevm/proxy-model.py
Neon Proxy for Solana
https://github.com/neonevm/proxy-model.py
evm solana
Last synced: 3 days ago
JSON representation
Neon Proxy for Solana
- Host: GitHub
- URL: https://github.com/neonevm/proxy-model.py
- Owner: neonevm
- License: other
- Created: 2020-10-02T12:01:57.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2023-12-06T09:14:14.000Z (about 1 year ago)
- Last Synced: 2023-12-06T14:29:39.739Z (about 1 year ago)
- Topics: evm, solana
- Language: Python
- Homepage: https://neon-labs.org
- Size: 5.55 MB
- Stars: 14
- Watchers: 4
- Forks: 17
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Audit: audit/20221013-Halborn.pdf
Awesome Lists containing this project
README
# Python prototype for Solana MetaMask proxy
Built on https://github.com/abhinavsingh/proxy.py.git
Requirements (for Ubuntu 18.04):
- python3
- python3-venv
- python3-dev
- gccTo run internal implementation for Ethereum tokens, start the proxy with:
```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 -m proxy --hostname 127.0.0.1 --port 9090 --enable-web-server --plugins proxy.plugin.NeonRpcApiPlugin --num-workers=1
```Then add network `http://localhost:9090/solana` into MetaMask
The repository contains sources for several services with similar logic:
- proxy
- indexer
- gas-tankGasTank is a service that analyzes transactions with NeonEVM instructions and looks for liquidity transfers into Neon accounts. The service provides users that make such transfers with gas-less transactions.
The service is configured via environment variables. Further to the common proxy environment, the service accepts the following variables:
- FAUCET_URL
> URL to the faucet service for distributing NEON tokens to the users
- INDEXER_ERC20_WRAPPER_WHITELIST
> A comma-separated list of ERC20ForSpl wrapped tokens for transfer (those transactions which trigger the service to allow gas-less transactions). The gas-tank looks for the first transfers of such tokens from Solana to Neon (those transfers that lead to the creation of Neon accounts).
- PORTAL_BRIDGE_CONTRACTS
> A comma-separated list of Portal Bridge contracts.
- PORTAL_BRIDGE_TOKENS_WHITELIST
> An allow list of tokens for the transfer which will trigger the providing of gas-less transactions. This set should contain "tokenChain:tokenAddress", where:
> - `tokenChain` is an original token chain number in terms of Portal bridge numbers
> - `tokenAddress` is the address of the token in hexadecimal lowercase form with a '0x' prefix
>
> Alt: provide the ANY value to accept any token.- ERC20_BRIDGE_CONTRACTS
> A comma-separated list of Common ERC20 Bridge contracts.
- ERC20_BRIDGE_TOKENS_WHITELIST
> An allowlist of tokens whose transfer triggers the providing of gas-less transactions. This set should contain ERC20 addresses separated by a comma. Alt: provide the ANY value to accept any token.
## Gotchas
- PORTAL_BRIDGE_CONTRACTS & PORTAL_BRIDGE_TOKENS_WHITELIST should both be specified. If either is missed, the gas-tank doesn't analyze Portal Bridge transfers.
- ERC20_BRIDGE_CONTRACTS & ERC20_BRIDGE_TOKENS_WHITELIST should both be specified. If they are missed, the gas-tank doesn't analyze Common ERC20 Transfers.