From 04ccc497d6bbd7d5c66493822a686caeabb3c903 Mon Sep 17 00:00:00 2001 From: m4sterbunny Date: Tue, 15 Aug 2023 11:01:09 +0100 Subject: [PATCH 01/39] updates foundry tutorial link --- docs/developing/get-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/developing/get-started.md b/docs/developing/get-started.md index b4613626..a91f0f40 100644 --- a/docs/developing/get-started.md +++ b/docs/developing/get-started.md @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem'; :::note -Just in case you are not using our #ai-support channel in Discord to accelerate your access to the documentation, here is a bare bones Get Started. +This is a bare bones Get Started; alternatively browse the full support available here. ::: ## Get test NEON for Neon Devnet @@ -108,7 +108,7 @@ See the [Truffle tutorial](https://docs.neonfoundation.io/docs/developing/deploy -Foundry doesn’t have a config file like Hardhat or Truffle to configure the network settings. Rather, the RPC endpoint and the private key are specified in the command line when passing foundry commands. See the [Foundry tutorial](https://github.com/sukanyaparashar/simple-erc20-foundry). +Foundry doesn’t have a config file like Hardhat or Truffle to configure the network settings. Rather, the RPC endpoint and the private key are specified in the command line when passing foundry commands. See the [Foundry tutorial](https://github.com/neonlabsorg/examples/tree/main/simple-erc20-foundry). From f395eb7cf2f3d7e55d54fbc0000dab5f53f12001 Mon Sep 17 00:00:00 2001 From: m4sterbunny Date: Tue, 15 Aug 2023 13:34:50 +0100 Subject: [PATCH 02/39] backup location for Grammarly style guide --- .github/styles/Grammarly.csv | 107 +++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 .github/styles/Grammarly.csv diff --git a/.github/styles/Grammarly.csv b/.github/styles/Grammarly.csv new file mode 100644 index 00000000..364c312b --- /dev/null +++ b/.github/styles/Grammarly.csv @@ -0,0 +1,107 @@ +"Original text",Rule,Explanation +"OX",0x,"Existing style, maintain consistency" +"24:7",24/7,"Existing style, maintain consistency" +"api;Api",API,"Existing style, maintain consistency" +"amongst",among,"Existing style, maintain consistency" +"Berkley Packet Filter;berkeley packet filter",Berkeley Packet Filter,"Existing style, maintain consistency" +"bi-weekly","biweekly","Existing style, maintain consistency" +"cex",CEX,"Acronyms in caps" +"CEXes",CEXs,"Existing style, maintain consistency" +"cryptobots;Cryptobots","CryptoBots","Brand name" +"cryptopunks;Cryptopunks",CryptoPunks,"Brand name" +"devnet",Devnet,"If this is Neon's Devnet or any other systems' use proper noun." +"DOA",DAO,"Oops, typo" +"DApp,Dapp,DAPP",dApp,"Exception is sentence start = DApp" +"DApps,Dapps,DAPPs,DAPPS",dApps,"Exception is sentence start = DApps" +""dex",DEX,"Acronyms in caps" +"DEXes",DEXs,"Existing style, maintain consistency" +discord,Discord,"Brand name" +dockerfile,Dockerfile,"Existing style, maintain consistency" +"Eterum,Etherum",Ethereum,"Watch out, typo" +"ERC 20;Erc-20;ERc-20;Erc 20;ERc 20,ERC20;Erc20;ERc20",ERC-20,"Existing style, maintain consistency" +"ERC 721;Erc-721;ERc-721;Erc 721;ERc 721,ERC721;Erc721;ERc721",ERC-721,"Existing style, maintain consistency" +"end-point;end point",endpoint,"Existing style, maintain consistency" +"evm;Evm",EVM,"Existing style, maintain consistency" +"Github,github,gitHub",GitHub,"Brand name" +"gHz,ghz",GHz,"Standard, maintain consistency" +"Javascript,javascript",JavaScript,"Brand name, maintain consistency" +"json,Json",JSON,"when referring to a file type or the standard, use caps" +"&",and,"Only apply & in heading or TL;DR (with the exception of webpage copy where space is an issue)" +"re-balancing,rebalancing","Existing style, maintain consistency" +"non-deterministic,nondeterministic","Existing style, maintain consistency" +"world-wide,worldwide","Stay consistent!" +"full withdrawl;full-withdrawl","Full Withdrawal","caps for the adjective or noun of a component of the system" +"front-end;front end","frontend","Existing style, maintain consistency" +"Decentralized finance",DeFi,"Apply acronym" +"off boarding;off-boarding",offboarding,"Existing style, maintain consistency" +"back-end;backend","backend","back-end is used as an adjective only." +"ID;id",Id,"Existing style, maintain consistency" +admin,Admin,"Use proper noun (caps) for an active component of a system e.g., ""The Admin authorizes the user""." +"Validity rollup;validity rollup","Validity Rollup", +"off chain;offchain",off-chain,"as an adjective off-chain would be the form plus this style has been extended for all uses" +"permissionless,permissionlessly",,"This should quiet the standard spelling flag" +"Layer 1;l1;layer 1",L1,"Use the acronym" +"Ethereum MainNet;Ethereum-Mainnet","Ethereum Mainnet ","Existing style, maintain consistency" +built-in,builtin,"This should quiet standard spelling flag" +governor,Governor,"Caps for a noun of an active component in the system" +"mainnet",Mainnet,"If this is Neon's Mainnet or any other named systems' use proper noun." +"Main-Net;Main-net;MainNet;main net;main-net;mainNet",Mainnet,"Existing style, maintain consistency" +"Maker DAO, Maker-DAO",MakerDAO,"Brand name" +"Merkel Patricia-Trie;Merkel Patricia Trie",Merkel-Patricia Trie,"Standard" +"Metamask;Meta mask;metamask;metaMask",MetaMask,"Brand name" +"multi sig;multi-sig",multisig,"Existing style, maintain consistency" +"the Neon EVM",Neon EVM,"Existing style, maintain consistency" +"NoenEVM;Noen EVM;NeonEVM",Neon EVM,"Existing style, maintain consistency" +"Neon Scan;NoenScan",NeonScan,"PascalCase for tools. Existing style, maintain consistency" +"Neon pass;Neon Pass,NoenPass",NeonPass,"PascalCase for tools. Existing style, maintain consistency" +"Neon faucet;Neon Faucet,NoenFaucet",NeonFaucet,"PascalCase for tools. Existing style, maintain consistency" +"Neon",NEON,"NEON caps is the token, Neon the noun should rarely be used > provide component instead" +"NEONS, Neons, neons",NEON,"The plural of NEON is NEON" +"proxy",Proxy,"Existing style, maintain consistency" +"NeonProxy, Noen proxy, Neon proxy",Neon Proxy,"Existing style, maintain consistency" +"Nft",NFT,"Acronymn as caps" +"node JS,Node JS",NodeJS,"Brand name" +"L2 rollup","L2 Rollup","as per ""On the Road"" Medium post" +"on boarding;on-boarding",onboarding,"Existing style, maintain consistency" +"rollup",Rollup,"proper noun for all rollup types - IF compounded proper noun for leading name also" +"Optimistic rollup;optimistic rollup","Optimistic Rollup","proper noun" +operator,Operator,"caps for a noun of an active component of the system" +"on chain;onchain",on-chain,"as an adjective on-chain would be the form plus this style has been extended for all uses" +"OpenZepelin;OpenZeppellin",OpenZeppelin,"Brand name" +"PRC",RPC,"Did you mean RPC as in Remote Procedure Call endpoint?" +"Side chains, Side-chains;side chains, side-chains",sidechains,"Existing style, maintain consistency" +smart-contract,"smart contract","Existing style, maintain consistency" +"Side chain;Side-chain;side chain;side-chain",sidechain,"Existing style, maintain consistency" +"sealevel,Sea Level",Sealevel,"Brand name" +"singing",signing,"Do you really mean to sing?!" +"solana,Solna",Solana,"Watch out, typo" +"stable coin",stablecoin,"Existing style, maintain consistency" +"Stark-Ex;Stark-ex;Starkex;starkex",StarkEx,"Proper noun's form" +"StarkEx Contract;StarkEx Smart Contract;StarkEx smart Contract;Starkex Contract","StarkEx smart contract","Trial style: Proper noun plus ""common"" noun" +"STARK key;Stark Key;starkKey","Stark key","Treat as a noun. Do not split the individual words with an adjective, rather place the adjective before the term. +StrakEx,StarkEx,"typo fix" +"Sushiswap",SushiSwap,"Brand name" +"Stark;stark",STARK,"style is all caps for this proper noun" +"pseudo code;pseudocode",pseudo-code,"Existing style, maintain consistency" +"StrakGate",StarkGate,"typo fix" +"StarkNet;StrakNet",Starknet,"typo fix" +"spl",SPL,"Acronym has caps" +"time lock;time-lock",timelock,"Existing style, maintain consistency" +"testnet",Testnet,"If this is Neon's Testnet or any other systems' use proper noun." +"Test-Net;test-net;TestNet;Test net;test-net;testNet",Testnnet,"Existing style, maintain consistency" +"tps",TPS,"Acronym has caps" +"trx;TRX",tx,"Existing style to abbreviate transaction, NO CAPS, maintain consistency" +"tvl",TVL,"Acronym has caps" +"the Neon,The Neon","Neon","The Neon EVM can be stated as Neon EVM" +"the Mainnet,The Mainnet","Mainnet","The Mainnet can be stated as Mainnet" +"the Devnet,The Devnet","Devnet","The Devnet can be stated as Devnet" +"UniSwap,uniswap",Uniswap,"Brand name" +"U.S,U.S.",US,"Existing style, maintain consistency" +"U.S.A,U.S.A.",US,"Existing style, maintain consistency" +"white paper",whitepaper,"Existing style, maintain consistency" +"White paper",Whitepaper,"Existing style, maintain consistency" +"web3,web 3,Web 3",Web3,"Existing style, maintain consistency" +"ZK-rollup;ZKRollup;zk-rollup;zkRollup",ZK-Rollup,"Existing style, maintain consistency" +"zk SNARK",zk-SNARK,"Existing style, maintain consistency" +"zk STARK",zk-STARK,"Existing style, maintain consistency" + From df29a3f644c50a32a9c03444a4684cf4269475d3 Mon Sep 17 00:00:00 2001 From: m4sterbunny Date: Thu, 17 Aug 2023 10:37:02 +0100 Subject: [PATCH 03/39] adds to backup style --- .github/styles/Grammarly.csv | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/styles/Grammarly.csv b/.github/styles/Grammarly.csv index 364c312b..854512b3 100644 --- a/.github/styles/Grammarly.csv +++ b/.github/styles/Grammarly.csv @@ -41,7 +41,8 @@ admin,Admin,"Use proper noun (caps) for an active component of a system e.g., "" "off chain;offchain",off-chain,"as an adjective off-chain would be the form plus this style has been extended for all uses" "permissionless,permissionlessly",,"This should quiet the standard spelling flag" "Layer 1;l1;layer 1",L1,"Use the acronym" -"Ethereum MainNet;Ethereum-Mainnet","Ethereum Mainnet ","Existing style, maintain consistency" +"Layer 2;l1;layer 2",L2,"Use the acronym" +"Ethereum MainNet;Ethereum-Mainnet","Ethereum Mainnet","Existing style, maintain consistency" built-in,builtin,"This should quiet standard spelling flag" governor,Governor,"Caps for a noun of an active component in the system" "mainnet",Mainnet,"If this is Neon's Mainnet or any other named systems' use proper noun." @@ -69,6 +70,9 @@ operator,Operator,"caps for a noun of an active component of the system" "on chain;onchain",on-chain,"as an adjective on-chain would be the form plus this style has been extended for all uses" "OpenZepelin;OpenZeppellin",OpenZeppelin,"Brand name" "PRC",RPC,"Did you mean RPC as in Remote Procedure Call endpoint?" +"p2p",P2P,"Brand name" +"POH,poh",PoH,"Existing style, maintain consistency" +"POS,pos",PoS,"Existing style, maintain consistency" "Side chains, Side-chains;side chains, side-chains",sidechains,"Existing style, maintain consistency" smart-contract,"smart contract","Existing style, maintain consistency" "Side chain;Side-chain;side chain;side-chain",sidechain,"Existing style, maintain consistency" @@ -89,6 +93,7 @@ StrakEx,StarkEx,"typo fix" "time lock;time-lock",timelock,"Existing style, maintain consistency" "testnet",Testnet,"If this is Neon's Testnet or any other systems' use proper noun." "Test-Net;test-net;TestNet;Test net;test-net;testNet",Testnnet,"Existing style, maintain consistency" +"TL:DR,tl:dr,tl;dr",TL;DR,"Existing style, maintain consistency" "tps",TPS,"Acronym has caps" "trx;TRX",tx,"Existing style to abbreviate transaction, NO CAPS, maintain consistency" "tvl",TVL,"Acronym has caps" From 016d35adf48f9445b416d5a0015c023ff127aa80 Mon Sep 17 00:00:00 2001 From: m4sterbunny Date: Tue, 22 Aug 2023 14:53:24 +0100 Subject: [PATCH 04/39] Fixes (#73) * updates foundry tutorial link * backup location for Grammarly style guide * adds to backup style --- .github/styles/Grammarly.csv | 112 +++++++++++++++++++++++++++++++++ docs/developing/get-started.md | 4 +- 2 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 .github/styles/Grammarly.csv diff --git a/.github/styles/Grammarly.csv b/.github/styles/Grammarly.csv new file mode 100644 index 00000000..854512b3 --- /dev/null +++ b/.github/styles/Grammarly.csv @@ -0,0 +1,112 @@ +"Original text",Rule,Explanation +"OX",0x,"Existing style, maintain consistency" +"24:7",24/7,"Existing style, maintain consistency" +"api;Api",API,"Existing style, maintain consistency" +"amongst",among,"Existing style, maintain consistency" +"Berkley Packet Filter;berkeley packet filter",Berkeley Packet Filter,"Existing style, maintain consistency" +"bi-weekly","biweekly","Existing style, maintain consistency" +"cex",CEX,"Acronyms in caps" +"CEXes",CEXs,"Existing style, maintain consistency" +"cryptobots;Cryptobots","CryptoBots","Brand name" +"cryptopunks;Cryptopunks",CryptoPunks,"Brand name" +"devnet",Devnet,"If this is Neon's Devnet or any other systems' use proper noun." +"DOA",DAO,"Oops, typo" +"DApp,Dapp,DAPP",dApp,"Exception is sentence start = DApp" +"DApps,Dapps,DAPPs,DAPPS",dApps,"Exception is sentence start = DApps" +""dex",DEX,"Acronyms in caps" +"DEXes",DEXs,"Existing style, maintain consistency" +discord,Discord,"Brand name" +dockerfile,Dockerfile,"Existing style, maintain consistency" +"Eterum,Etherum",Ethereum,"Watch out, typo" +"ERC 20;Erc-20;ERc-20;Erc 20;ERc 20,ERC20;Erc20;ERc20",ERC-20,"Existing style, maintain consistency" +"ERC 721;Erc-721;ERc-721;Erc 721;ERc 721,ERC721;Erc721;ERc721",ERC-721,"Existing style, maintain consistency" +"end-point;end point",endpoint,"Existing style, maintain consistency" +"evm;Evm",EVM,"Existing style, maintain consistency" +"Github,github,gitHub",GitHub,"Brand name" +"gHz,ghz",GHz,"Standard, maintain consistency" +"Javascript,javascript",JavaScript,"Brand name, maintain consistency" +"json,Json",JSON,"when referring to a file type or the standard, use caps" +"&",and,"Only apply & in heading or TL;DR (with the exception of webpage copy where space is an issue)" +"re-balancing,rebalancing","Existing style, maintain consistency" +"non-deterministic,nondeterministic","Existing style, maintain consistency" +"world-wide,worldwide","Stay consistent!" +"full withdrawl;full-withdrawl","Full Withdrawal","caps for the adjective or noun of a component of the system" +"front-end;front end","frontend","Existing style, maintain consistency" +"Decentralized finance",DeFi,"Apply acronym" +"off boarding;off-boarding",offboarding,"Existing style, maintain consistency" +"back-end;backend","backend","back-end is used as an adjective only." +"ID;id",Id,"Existing style, maintain consistency" +admin,Admin,"Use proper noun (caps) for an active component of a system e.g., ""The Admin authorizes the user""." +"Validity rollup;validity rollup","Validity Rollup", +"off chain;offchain",off-chain,"as an adjective off-chain would be the form plus this style has been extended for all uses" +"permissionless,permissionlessly",,"This should quiet the standard spelling flag" +"Layer 1;l1;layer 1",L1,"Use the acronym" +"Layer 2;l1;layer 2",L2,"Use the acronym" +"Ethereum MainNet;Ethereum-Mainnet","Ethereum Mainnet","Existing style, maintain consistency" +built-in,builtin,"This should quiet standard spelling flag" +governor,Governor,"Caps for a noun of an active component in the system" +"mainnet",Mainnet,"If this is Neon's Mainnet or any other named systems' use proper noun." +"Main-Net;Main-net;MainNet;main net;main-net;mainNet",Mainnet,"Existing style, maintain consistency" +"Maker DAO, Maker-DAO",MakerDAO,"Brand name" +"Merkel Patricia-Trie;Merkel Patricia Trie",Merkel-Patricia Trie,"Standard" +"Metamask;Meta mask;metamask;metaMask",MetaMask,"Brand name" +"multi sig;multi-sig",multisig,"Existing style, maintain consistency" +"the Neon EVM",Neon EVM,"Existing style, maintain consistency" +"NoenEVM;Noen EVM;NeonEVM",Neon EVM,"Existing style, maintain consistency" +"Neon Scan;NoenScan",NeonScan,"PascalCase for tools. Existing style, maintain consistency" +"Neon pass;Neon Pass,NoenPass",NeonPass,"PascalCase for tools. Existing style, maintain consistency" +"Neon faucet;Neon Faucet,NoenFaucet",NeonFaucet,"PascalCase for tools. Existing style, maintain consistency" +"Neon",NEON,"NEON caps is the token, Neon the noun should rarely be used > provide component instead" +"NEONS, Neons, neons",NEON,"The plural of NEON is NEON" +"proxy",Proxy,"Existing style, maintain consistency" +"NeonProxy, Noen proxy, Neon proxy",Neon Proxy,"Existing style, maintain consistency" +"Nft",NFT,"Acronymn as caps" +"node JS,Node JS",NodeJS,"Brand name" +"L2 rollup","L2 Rollup","as per ""On the Road"" Medium post" +"on boarding;on-boarding",onboarding,"Existing style, maintain consistency" +"rollup",Rollup,"proper noun for all rollup types - IF compounded proper noun for leading name also" +"Optimistic rollup;optimistic rollup","Optimistic Rollup","proper noun" +operator,Operator,"caps for a noun of an active component of the system" +"on chain;onchain",on-chain,"as an adjective on-chain would be the form plus this style has been extended for all uses" +"OpenZepelin;OpenZeppellin",OpenZeppelin,"Brand name" +"PRC",RPC,"Did you mean RPC as in Remote Procedure Call endpoint?" +"p2p",P2P,"Brand name" +"POH,poh",PoH,"Existing style, maintain consistency" +"POS,pos",PoS,"Existing style, maintain consistency" +"Side chains, Side-chains;side chains, side-chains",sidechains,"Existing style, maintain consistency" +smart-contract,"smart contract","Existing style, maintain consistency" +"Side chain;Side-chain;side chain;side-chain",sidechain,"Existing style, maintain consistency" +"sealevel,Sea Level",Sealevel,"Brand name" +"singing",signing,"Do you really mean to sing?!" +"solana,Solna",Solana,"Watch out, typo" +"stable coin",stablecoin,"Existing style, maintain consistency" +"Stark-Ex;Stark-ex;Starkex;starkex",StarkEx,"Proper noun's form" +"StarkEx Contract;StarkEx Smart Contract;StarkEx smart Contract;Starkex Contract","StarkEx smart contract","Trial style: Proper noun plus ""common"" noun" +"STARK key;Stark Key;starkKey","Stark key","Treat as a noun. Do not split the individual words with an adjective, rather place the adjective before the term. +StrakEx,StarkEx,"typo fix" +"Sushiswap",SushiSwap,"Brand name" +"Stark;stark",STARK,"style is all caps for this proper noun" +"pseudo code;pseudocode",pseudo-code,"Existing style, maintain consistency" +"StrakGate",StarkGate,"typo fix" +"StarkNet;StrakNet",Starknet,"typo fix" +"spl",SPL,"Acronym has caps" +"time lock;time-lock",timelock,"Existing style, maintain consistency" +"testnet",Testnet,"If this is Neon's Testnet or any other systems' use proper noun." +"Test-Net;test-net;TestNet;Test net;test-net;testNet",Testnnet,"Existing style, maintain consistency" +"TL:DR,tl:dr,tl;dr",TL;DR,"Existing style, maintain consistency" +"tps",TPS,"Acronym has caps" +"trx;TRX",tx,"Existing style to abbreviate transaction, NO CAPS, maintain consistency" +"tvl",TVL,"Acronym has caps" +"the Neon,The Neon","Neon","The Neon EVM can be stated as Neon EVM" +"the Mainnet,The Mainnet","Mainnet","The Mainnet can be stated as Mainnet" +"the Devnet,The Devnet","Devnet","The Devnet can be stated as Devnet" +"UniSwap,uniswap",Uniswap,"Brand name" +"U.S,U.S.",US,"Existing style, maintain consistency" +"U.S.A,U.S.A.",US,"Existing style, maintain consistency" +"white paper",whitepaper,"Existing style, maintain consistency" +"White paper",Whitepaper,"Existing style, maintain consistency" +"web3,web 3,Web 3",Web3,"Existing style, maintain consistency" +"ZK-rollup;ZKRollup;zk-rollup;zkRollup",ZK-Rollup,"Existing style, maintain consistency" +"zk SNARK",zk-SNARK,"Existing style, maintain consistency" +"zk STARK",zk-STARK,"Existing style, maintain consistency" + diff --git a/docs/developing/get-started.md b/docs/developing/get-started.md index b4613626..a91f0f40 100644 --- a/docs/developing/get-started.md +++ b/docs/developing/get-started.md @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem'; :::note -Just in case you are not using our #ai-support channel in Discord to accelerate your access to the documentation, here is a bare bones Get Started. +This is a bare bones Get Started; alternatively browse the full support available here. ::: ## Get test NEON for Neon Devnet @@ -108,7 +108,7 @@ See the [Truffle tutorial](https://docs.neonfoundation.io/docs/developing/deploy -Foundry doesn’t have a config file like Hardhat or Truffle to configure the network settings. Rather, the RPC endpoint and the private key are specified in the command line when passing foundry commands. See the [Foundry tutorial](https://github.com/sukanyaparashar/simple-erc20-foundry). +Foundry doesn’t have a config file like Hardhat or Truffle to configure the network settings. Rather, the RPC endpoint and the private key are specified in the command line when passing foundry commands. See the [Foundry tutorial](https://github.com/neonlabsorg/examples/tree/main/simple-erc20-foundry). From a4fee95f17a2106cbfcf164c2a3cf57d46c693d4 Mon Sep 17 00:00:00 2001 From: m4sterbunny Date: Thu, 24 Aug 2023 16:22:22 +0100 Subject: [PATCH 05/39] updates style and applies style to Galan --- .github/styles/Grammarly.csv | 10 +++++++--- .github/styles/Vocab/Neon/accept.txt | 1 + .github/styles/Vocab/Neon/reject.txt | 4 ++++ docs/operating/transaction-gas.md | 4 ++-- docs/single-source-snippets/_gas-price.mdx | 4 ++-- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/styles/Grammarly.csv b/.github/styles/Grammarly.csv index 854512b3..bdfb6b10 100644 --- a/.github/styles/Grammarly.csv +++ b/.github/styles/Grammarly.csv @@ -1,8 +1,12 @@ "Original text",Rule,Explanation +"&",and,"Only apply & in heading or TL;DR (with the exception of webpage copy where space is an issue)" "OX",0x,"Existing style, maintain consistency" "24:7",24/7,"Existing style, maintain consistency" +"ALANS, alans",Alan,"The plural of Alan is Alan" +"ALAN, alan",Alan,"Existing style, maintain consistency" "api;Api",API,"Existing style, maintain consistency" "amongst",among,"Existing style, maintain consistency" +"back-end;backend","backend","back-end is used as an adjective only." "Berkley Packet Filter;berkeley packet filter",Berkeley Packet Filter,"Existing style, maintain consistency" "bi-weekly","biweekly","Existing style, maintain consistency" "cex",CEX,"Acronyms in caps" @@ -26,15 +30,14 @@ dockerfile,Dockerfile,"Existing style, maintain consistency" "gHz,ghz",GHz,"Standard, maintain consistency" "Javascript,javascript",JavaScript,"Brand name, maintain consistency" "json,Json",JSON,"when referring to a file type or the standard, use caps" -"&",and,"Only apply & in heading or TL;DR (with the exception of webpage copy where space is an issue)" -"re-balancing,rebalancing","Existing style, maintain consistency" "non-deterministic,nondeterministic","Existing style, maintain consistency" "world-wide,worldwide","Stay consistent!" "full withdrawl;full-withdrawl","Full Withdrawal","caps for the adjective or noun of a component of the system" "front-end;front end","frontend","Existing style, maintain consistency" "Decentralized finance",DeFi,"Apply acronym" +"GALANS, Galans, galans",Galan,"The plural of Galan is Galan" +"GALAN, galan",Galan,"Existing style, maintain consistency" "off boarding;off-boarding",offboarding,"Existing style, maintain consistency" -"back-end;backend","backend","back-end is used as an adjective only." "ID;id",Id,"Existing style, maintain consistency" admin,Admin,"Use proper noun (caps) for an active component of a system e.g., ""The Admin authorizes the user""." "Validity rollup;validity rollup","Validity Rollup", @@ -73,6 +76,7 @@ operator,Operator,"caps for a noun of an active component of the system" "p2p",P2P,"Brand name" "POH,poh",PoH,"Existing style, maintain consistency" "POS,pos",PoS,"Existing style, maintain consistency" +"re-balancing,rebalancing","Existing style, maintain consistency" "Side chains, Side-chains;side chains, side-chains",sidechains,"Existing style, maintain consistency" smart-contract,"smart contract","Existing style, maintain consistency" "Side chain;Side-chain;side chain;side-chain",sidechain,"Existing style, maintain consistency" diff --git a/.github/styles/Vocab/Neon/accept.txt b/.github/styles/Vocab/Neon/accept.txt index 08c86c9a..44cc174b 100644 --- a/.github/styles/Vocab/Neon/accept.txt +++ b/.github/styles/Vocab/Neon/accept.txt @@ -10,6 +10,7 @@ DeFi platform ESLint Ethereum [Ff]ailover +Galan gcc gif Gitter diff --git a/.github/styles/Vocab/Neon/reject.txt b/.github/styles/Vocab/Neon/reject.txt index e2b86adc..fd44a1cc 100644 --- a/.github/styles/Vocab/Neon/reject.txt +++ b/.github/styles/Vocab/Neon/reject.txt @@ -7,3 +7,7 @@ mainNet MainMet testNet TestNet +GALAN +GALANS +galan +NeonEVM \ No newline at end of file diff --git a/docs/operating/transaction-gas.md b/docs/operating/transaction-gas.md index 2a0b0fe6..036e378c 100644 --- a/docs/operating/transaction-gas.md +++ b/docs/operating/transaction-gas.md @@ -47,7 +47,7 @@ For example: - $NEON = $0.25 - $SOL = $10 - PRX_OPERATOR_FEE = "1" -- Gas price = 10 / 0.25 * (1 + 1) = 80 Galans +- Gas price = 10 / 0.25 * (1 + 1) = 80 Galan Neon recommends that Neon Operators should initially set `PRX_OPERATOR_FEE` to “1.0” for Mainnet launch. This allows Operators to cover their hardware costs while transaction demands are low. As demand grows, Operators may adjust their fees in response. @@ -60,7 +60,7 @@ An Operator has two options: - **Recommended**: set up the `PRX_MINIMAL_GAS_PRICE` to 1 as per the default value in EVMs - Set up the `PRX_MINIMAL_GAS_PRICE` to reject low offers -> For example, by setting the gas price minimum to 65 Galans, Neon Proxy rejects transactions with a gas price of less than 65. +> For example, by setting the gas price minimum to 65 Galan, Neon Proxy rejects transactions with a gas price of less than 65. If a transaction request arrives with a gas price below that of the Operator costs + Operator fee, but with a gas price larger than the designated `PRX_MINIMAL_GAS_PRICE`, the Neon Proxy accepts the transaction into mempool. diff --git a/docs/single-source-snippets/_gas-price.mdx b/docs/single-source-snippets/_gas-price.mdx index 6901e591..29080e3f 100644 --- a/docs/single-source-snippets/_gas-price.mdx +++ b/docs/single-source-snippets/_gas-price.mdx @@ -4,9 +4,9 @@ The **gas price** is the cost of 1 unit of gas in NEON. This price is calculated which can also be represented as: -> (1 + Proxy Operator fee) \* SOL-to-NEON-rate Galans +> (1 + Proxy Operator fee) \* SOL-to-NEON-rate Galan -This amount is usually displayed for users in Galans (10-9 NEONs). +This amount is usually displayed for users in Galan (10-9 NEONs). The final formula for the gas fee for a Neon transaction with N iterations and S newly allocated bytes is: From 5a22ceeb95a1a3a1302cb526ed542bcbdab2cd59 Mon Sep 17 00:00:00 2001 From: m4sterbunny Date: Mon, 28 Aug 2023 12:08:15 +0100 Subject: [PATCH 06/39] applies discussed updates to remove duplication --- ...solana.md => local_proxy_remote_solana.md} | 64 +++++++++++-------- .../op2_local_proxy_local_solana.md | 48 -------------- sidebars.js | 8 +-- 3 files changed, 38 insertions(+), 82 deletions(-) rename docs/developing/dev_environment/{op3_local_proxy_remote_solana.md => local_proxy_remote_solana.md} (59%) delete mode 100644 docs/developing/dev_environment/op2_local_proxy_local_solana.md diff --git a/docs/developing/dev_environment/op3_local_proxy_remote_solana.md b/docs/developing/dev_environment/local_proxy_remote_solana.md similarity index 59% rename from docs/developing/dev_environment/op3_local_proxy_remote_solana.md rename to docs/developing/dev_environment/local_proxy_remote_solana.md index 9f411daa..a94d21ca 100644 --- a/docs/developing/dev_environment/op3_local_proxy_remote_solana.md +++ b/docs/developing/dev_environment/local_proxy_remote_solana.md @@ -1,60 +1,68 @@ --- title: "Local Proxy to Remote Solana" -proofedDate: na +proofedDate: 20230828 iterationBy: na includedInSite: true approvedBy: na -comment: +comment: Local to local was updated -- todo verify this page; may need update also e.g. instruction says For Devnet/Testnet, it should be `eeLSJgWzzxrqKv1UxtRVVH8FX3qCQWUs9QuAjJpETGU` but are Devnet and Testnet not two different entities? --- +:::info +The [Proxy local testing tutorial](/docs/operating/basic) describes how to perform testing with a local Proxy to a local Solana node. This option can be useful for developers who want to debug their Solidity contracts by hosting both Proxy and Solana nodes locally. This page provides a tutorial that demonstrates how to transact from a local Proxy to a public, remote Solana. +::: + + ## Prerequisites -[Docker](https://docs.docker.com/get-docker/) must be already installed on your device. `docker-compose` v1.29 is recommended. +[Docker](https://docs.docker.com/get-docker/); `docker-compose` v1.29 is recommended. -## Network Configuration - * The target Solana cluster is accessed via the locally-hosted proxy. - * Solana [Testnet](https://docs.solana.com/clusters#testnet)/[Devnet](https://docs.solana.com/clusters#devnet)/[Mainnet](https://docs.solana.com/clusters#mainnet-beta) is used, and the proxy interacts with it through the Neon EVM. +## Network configuration + * The target Solana cluster is accessed via the locally-hosted Proxy. + * Solana [Testnet](https://docs.solana.com/clusters#testnet)/[Devnet](https://docs.solana.com/clusters#devnet)/[Mainnet](https://docs.solana.com/clusters#mainnet-beta) is used, and the Proxy interacts with it through Neon EVM. -## Setting up a Local Proxy -First, set up and host a proxy locally as per the following steps. After executing these commands, the proxy will be available at `http://localhost:9090/solana`. This address and port are set by default. +## Set up a local Proxy +First, set up and host a Proxy locally as per the following steps. After executing these commands, the Proxy will be available at `http://localhost:9090/solana`. This address and port are set by default. ### Step 1: Docker -Docker images themselves are never "started" and never "running". The `docker run` command takes the Docker image as a template and produces a container from it. Before starting your proxy container, you need to start service containers. +Docker images themselves are never "started" and never "running". The `docker run` command takes the Docker image as a template and produces a container from it. Before starting your Proxy container, you need to start service containers. Make sure that you have a daemon running by executing the following command: ```bash docker info ``` + +:::tip If you see something like this: ```console -Cannot connect to the Docker daemon at . Is the docker daemon running? +Can't connect to the Docker daemon at . Is the docker daemon running? ``` -you need to run the daemon first: +run the daemon first: ```bash sudo systemctl start docker ``` +::: ### Step 2: Run the Database, Indexer, and Proxy Services -In this step, you will create the services necessary for the function of the proxy (including database and indexer services), as well as the proxy service itself. These services, the functions of which are described below, will be created from a docker-compose.yml file. +In this step, you will create the services necessary for the function of the Proxy (including database and indexer services), as well as the Proxy service itself. These services, the functions of which are described below, will be created from a docker-compose.yml file. #### Database Services -This container aims to handle the database that stores all the relevant Ethereum processing metadata linked to each other: **`transactions`**, **`blocks`**, **`receipts`**, **`accounts`** etc. This data is consumed by the **Indexer** service. +This container aims to handle the database that stores all the relevant Ethereum processing metadata linked to each other: **`transactions`**, **`blocks`**, **`receipts`**, **`accounts`**, etc. This data is consumed by the **Indexer** service. -Currently, Neon EVM proxies are hardcoded to work with PostgreSQL. To connect the proxy to a database, you need to start a PostgreSQL container. The default settings are hardcoded in the following docker-compose.yml file. If you want to use your proxy with other settings, you need to register as an operator so that the Neon EVM can recognize your keys. +Currently, Neon EVM proxies are hard coded to work with PostgreSQL. To connect the Proxy to a database, you need to start a PostgreSQL container. The default settings are hard coded in the following docker-compose.yml file. If you want to use your Proxy with other settings, you need to register as an Operator so that Neon EVM can recognize your keys. -> Only authorized operators can change the settings of these parameters. +> Only authorized Operators can change the settings of these parameters. Learn more about [operating a Neon Proxy](/docs/operating/operator-introduction.md) #### Indexer Service -The indexer service indexes all the relevant Ethereum processing metadata consisting of **`signatures`**, **`transactions`**, **`blocks`**, **`receipts`**, **`accounts`**, etc. It gathers all this data from the Solana blockchain, filtering them by the EVM contract address. It also makes it possible to provide our users with the Ethereum API according to the data provided by the whole known operators. +The indexer service indexes all the relevant Ethereum processing metadata consisting of **`signatures`**, **`transactions`**, **`blocks`**, **`receipts`**, **`accounts`**, etc. It gathers all this data from the Solana blockchain, filtering them by the EVM contract address. It enables us to provide our users with the Ethereum API. #### Proxy Service The Proxy service is a core service that allows Ethereum-like transactions to be processed on Solana, taking full advantage of Solana-native functionality, including the ability to execute transactions in parallel. -The Neon EVM address is registered inside `neonlabsorg/proxy`, so the proxy knows which Neon EVM is running in the Solana cluster. After executing this command, the proxy will be available at `http://localhost:9090/solana`. This address and port are set by default. +The Neon EVM address is registered inside `neonlabsorg/proxy`, so the Proxy knows which Neon EVM is running in the Solana cluster. After executing this command, the Proxy will be available at `http://localhost:9090/solana`. This address and port are set by default. #### Create and Run Services with Docker Compose -In order to create and run these abovementioned services, +In order to create and run these services, -1. Create "keys" folder and put your whitelisted key into it. Note that the file with operator key should be named `id.json`. +1. Create a "keys" folder and put your allowlisted key into it. Note that the file with the Operator key should be named `id.json`. ```bash mkdir keys mv {PATH_TO_WHITELISTED_KEYS} keys/ @@ -62,7 +70,7 @@ mv {PATH_TO_WHITELISTED_KEYS} keys/ 2. Set the following environment variables - `EVM_LOADER` - - For devnet/testnet, it should be `eeLSJgWzzxrqKv1UxtRVVH8FX3qCQWUs9QuAjJpETGU` + - For Devnet/Testnet, it should be `eeLSJgWzzxrqKv1UxtRVVH8FX3qCQWUs9QuAjJpETGU` - `SOLANA_URL` - Refer to the [RPC Endpoints table](#rpc-endpoints) - `PROXY_VERSION` @@ -97,23 +105,23 @@ Creating indexer ... done Creating proxy ... done ``` -## Connecting to Solana Cluster RPC Endpoints +## Connect to a Solana cluster RPC endpoint -A proxy connects to a public [Solana cluster RPC endpoint](https://docs.solana.com/cluster/rpc-endpoints) depending on the `SOLANA_URL` value set. The table below shows the *endpoint* value that is set automatically based on the value of the `CONFIG` flag. +A Proxy connects to a public [Solana cluster RPC endpoint](https://docs.solana.com/cluster/rpc-endpoints) depending on the `SOLANA_URL` value set. The table below shows the *endpoint* value that is set automatically based on the value of the `CONFIG` flag. -### RPC Endpoints +### RPC endpoints CONFIG | RPC Endpoint :-|:- -devnet | `https://api.devnet.solana.com` -testnet | `https://api.testnet.solana.com` -mainnet | `https://api.mainnet-beta.solana.com` +Devnet | `https://api.devnet.solana.com` +Testnet | `https://api.testnet.solana.com` +Mainnet | `https://api.mainnet-beta.solana.com` To use a different endpoint, you need to specify the variable `-e SOLANA_URL='http://'` on the command line. For example, in order to use devnet, add the flag `-e SOLANA_URL='https://api.devnet.solana.com'`. -When a proxy is deployed, it generates a wallet containing a key pair. If you do not need the new wallet and want to use the keys you already have, you need to specify the path to your wallet on the command line. +When a Proxy is deployed, it generates a wallet containing a key pair. If you do not need the new wallet and want to use the keys you already have, you need to specify the path to your wallet on the command line. **Command Line Options** * `~/.config/solana/id.json` — absolute path to your key pair file stored locally - * `--name proxy` — specifies the proxy name + * `--name proxy` — specifies the Proxy name diff --git a/docs/developing/dev_environment/op2_local_proxy_local_solana.md b/docs/developing/dev_environment/op2_local_proxy_local_solana.md deleted file mode 100644 index 38758c88..00000000 --- a/docs/developing/dev_environment/op2_local_proxy_local_solana.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Local Proxy to Local Solana" -proofedDate: na -iterationBy: na -includedInSite: true -approvedBy: na -comment: ---- - -This option will let you connect to Solana via a proxy, when **both** are hosted locally. This option can be useful for developers that want to debug their Solidity contracts by hosting a proxy and a Solana node locally. - -## Prerequisites -[Docker](https://docs.docker.com/get-docker/) must be already installed on your device. `docker-compose` v1.29 is recommended. - -## Network Configuration - * Both the Solana node and the proxy are hosted locally - * The proxy interacts with the Solana node through the Neon EVM - -## Setting up Local Proxy and Local Solana Node - -Download the `docker-compose-test.yml` file to your currently directory using the following command: -```bash -wget https://raw.githubusercontent.com/neonlabsorg/proxy-model.py/master/proxy/docker-compose-test.yml -``` - -Execute the command: -```bash -sudo REVISION=stable docker-compose -f docker-compose-test.yml up -d --quiet-pull -``` - -The output should look like this: -```console -Creating solana ... done -Creating evm_loader ... done -Creating postgres ... done -Creating proxy ... done -Creating indexer ... done -``` -As soon as the latest command is completed, the proxy will start to deploy the Neon EVM in a local Solana node. After that, the proxy and Solana will be available at the URLs `http://localhost:9090/solana` and `http://localhost:8899`, respectively. The Neon faucet will also be available at `http://localhost:3333`. - ---- - -> **Note:** -> For your proxy, you can use the dedicated Neon server, or a separate server that you will need to deploy and log into. -> -> For the Solana endpoint, you can use a separate node hosted on Devnet or Testnet. -> -You can also use a Solana node that is not hosted on any network. In this case, you will need to configure this node and synchronize it with the Devnet or Testnet network. Then you will need to deploy the local proxy and configure it to work with this node. In addition, you will also need to connect to the EVM loader deployed within Devnet or Testnet. diff --git a/sidebars.js b/sidebars.js index a7c3e968..d6f972d3 100644 --- a/sidebars.js +++ b/sidebars.js @@ -110,13 +110,9 @@ const sidebars = { ] }, { - type: 'category', + type: 'doc', label: 'Set up Local Neon EVM', - items: [ - 'developing/dev_environment/op2_local_proxy_local_solana', - 'developing/dev_environment/op3_local_proxy_remote_solana', - 'clusters/solana_cluster' - ] + id: 'developing/dev_environment/local_proxy_remote_solana' }, { type: 'html', value: '