मुख्य सामग्री पर जाएं
आप अपने Web3 Action functions से सीधे Node RPC तक पहुँच सकते हैं। यह आपको Web3 Actions के माध्यम से स्वचालित रूप से Mainnet या testnets पर transactions भेजने और on-chain data पढ़ने की अनुमति देता है। blockchain तक पहुँचने के लिए Web3 Actions सेट अप करने के लिए न्यूनतम setup की आवश्यकता होती है, एक single Javascript variable। RPC URLs को copy/paste करने, secret keys प्रबंधित करने आदि की चिंता करने की आवश्यकता नहीं है। Tenderly पृष्ठभूमि में आपके लिए यह सब संभालता है। इस गाइड में, आप सीखेंगे कि Mainnet तक पहुँच के लिए Tenderly के production node का उपयोग करने के लिए अपने Web3 Action function code को कैसे कॉन्फ़िगर करें।

Context में Node RPC

Web3 Actions में, Tenderly के node तक पहुँच context object के माध्यम से सक्षम है। यहाँ Web3 Actions Context के बारे में अधिक जानें। context object में gateways नामक एक property होती है जो आपको getGateway() method तक पहुँच देती है। इस method के लिए एक argument Network की आवश्यकता होती है, जिसका उपयोग उस network को निर्दिष्ट करने के लिए किया जाता है जिसे आप access करना चाहते हैं। Network argument भी एक object है जो आपको Node RPC में सभी समर्थित networks तक पहुँच देता है:
  • Network.MAINNET
  • Network.GOERLI
  • Network.SEPOLIA
  • Network.HOLESKY
  • Network.POLYGON
  • Network.MUMBAI
  • Network.OPTIMISTIC
  • Network.OPTIMISTIC_GOERLI
  • Network.ARBITRUM_SEPOLIA
  • Network.BASE
  • Network.BASE_GOERLI
  • Network.BOBA_ETHEREUM
  • Network.BOBA_GOERLI
  • Network.BOBA_BINANCE
  • Network.BOBA_BINANCE_RIALTO
आप @tenderly/actions npm package में network list यहाँ देख सकते हैं। यह प्रदर्शित करने के लिए कि यह सब कैसे एक साथ आता है, यहाँ एक उदाहरण Javascript variable है जो Mainnet तक पहुँचने के लिए कॉन्फ़िगर किया गया है:
example.jsx
const defaultGatewayURL = context.gateways.getGateway(Network.MAINNET);

Mainnet तक पहुँचने के लिए उदाहरण Web3 Action function

आइए एक simple Web3 Action बनाएँ जो Mainnet पर एक नया block mine होने पर हर बार trigger होगा। हर बार जब कोई block mine होगा, Web3 Action custom code, जिसे “function” भी कहा जाता है, execute करेगा। यहाँ Web3 Action functions के बारे में अधिक पढ़ें। सरलता के लिए, नीचे दिया गया उदाहरण function mine किए गए latest block का block number प्राप्त करेगा और इसे console में log करेगा। आप code की प्रत्येक line क्या करती है, यह समझने के लिए comments पढ़ सकते हैं।
example.jsx
// Required libraries that must be included for the code to work
const ethers = require('ethers');
const { Network } = require('@tenderly/actions');

// Do not change the default 'actionFn' name.
const actionFn = async (context, blockEvent) => {
  // Setting a variable that will store the Node RPC RPC URL and secret key
  const defaultGatewayURL = context.gateways.getGateway(Network.MAINNET);

  // Using the Ethere.js provider class to call the RPC URL
  const provider = new ethers.providers.JsonRpcProvider(defaultGatewayURL);

  // Logging the block number of the latest mined block
  console.log(await provider.getBlockNumber());
};

// Exporting the default module. Do not change this.
module.exports = { actionFn };
इसके बाद, DashboardWeb3 ActionsAdd Action पर जाएँ।
Web3 Action set up wizard
  • Trigger Type के लिए, Block चुनें।
  • Function textbox में, ऊपर दिए गए उदाहरण से code पेस्ट करें और Next पर क्लिक करें।
Custom code that is executed when the Web3 Action is triggered
  • network का चयन करके Trigger सेट करें। हमारे मामले में, वह Mainnet है।
  • साथ ही, Tenderly को Web3 Action function को कितनी बार execute करना है, यह बताने के लिए Block Period सेट करें। उदाहरण के लिए, यदि आप 1 डालते हैं, तो प्रत्येक block mine होने पर एक बार Web3 Action execute होगी।
  • Info fields में, Web3 Action के लिए एक नाम जोड़ें और वैकल्पिक विवरण।
  • आप एक Destination भी सेट कर सकते हैं जहाँ आप Web3 Action के विफल executions के बारे में notifications प्राप्त करेंगे
  • अंत में, Web3 Action को deploy करने के लिए Create पर क्लिक करें
Execution History पेज से, हम देख सकते हैं कि Web3 Action सफलतापूर्वक execute हो रहा है।
Web3 Action execution history
आप execute की गई Web3 Action और JSON में payload के बारे में विवरण देखने के लिए Execution ID पर क्लिक कर सकते हैं।

उपयोगी संसाधन

अपनी Web3 Actions को प्रबंधित करने और execution errors की निगरानी करने के तरीके के बारे में अधिक जानकारी के लिए, निम्न guides पढ़ें: