विस्थापन मार्गदर्शिका
रेनबोकिट का स्थानांतरण करना
wagmi और viem पीयर निर्भरताएं 2.x.x
पर पहुँच गई हैं जिसमें महत्वपूर्ण परिवर्तन आए हैं।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
1. RainbowKit, wagmi
, और viem
को उनके नवीनतम संस्करण में अपग्रेड करें
2. @tanstack/react-query
पीयर निर्भरता स्थापित करें
Wagmi v2 के साथ, TanStack Query अब एक आवश्यक पीयर निर्भरता है।
निम्नलिखित कमांड के साथ इसे स्थापित करें:
3. अपने RainbowKit और Wagmi कॉन्फ़िगरेशन को अपग्रेड करें
4. wagmi
और viem
में महत्वपूर्ण परिवर्तनों की जाँच करें
यदि आप अपने dApp में wagmi
हुक्स और viem
एक्शन्स का उपयोग करते हैं, तो आपको v2 के लिए माइग्रेशन गाइड्स का पालन करना होगा:
1. EIP-6963 वॉलेट्स के लिए सुधारित व्यवहार
वॉलेट्स जो नए EIP-6963 कनेक्शन मानक का समर्थन करते हैं (जिसमें Rainbow, MetaMask, और अन्य शामिल हैं) अब Connect Wallet अनुभव के दौरान एक Installed
सेक्शन में स्वचालित रूप से दिखाई देंगे। यह सुनिश्चित करता है कि उपयोगकर्ता हमेशा अपने पसंदीदा वॉलेट्स पा सकते हैं और बिना किसी संघर्ष या फॉलबैक बटनों के dApps से कनेक्ट हो सकते हैं।
डेवलपर्स को अंतिम उपयोगकर्ताओं के लिए पसंदीदा वॉलेट्स पर ज़ोर देने के लिए पूरी तरह से कस्टम वॉलेट सूची पर नियंत्रण मिलता है। आपको अपनी सूची में injectedWallet
और walletConnectWallet
को शामिल करने की सलाह दी जाती है ताकि सभी प्लेटफ़ॉर्म्स का समर्थन किया जा सके।
2. getDefaultConfig के साथ Wagmi कॉन्फ़िगरेशन**
यह नया API कॉन्फ़िगरेशन अनुभव को सरल बनाता है और सीधे Wagmi के createConfig
का उपयोग करने की आवश्यकता को प्रतिस्थापित करता है। Chain कॉन्फ़िगरेशन को सरल किया गया है, जिसमें transports
के लिए अनुमानित सार्वजनिक प्रदाता शामिल हैं।
डिफ़ॉल्ट वॉलेट सूची स्वचालित रूप से शामिल की जाएगी, getDefaultWallets
और connectorsForWallets
का उपयोग करने की आवश्यकता को अप्रचलित करते हुए।
आप wallets
को आयातित या कस्टम वॉलेट कनेक्टर्स को पारित करके कस्टम वॉलेट सूची बना सकते हैं। वॉलेट कनेक्टर्स को इंस्टेंशिएट करना और projectId
और chains
को पास करना अब आवश्यक नहीं है।
3. RainbowKitProvider
अब आपको chains
को <RainbowKitProvider>
में पास करने की आवश्यकता नहीं है।
4. कस्टम चेन्स
Wagmi v2 के अनुसार Chain
प्रकार में परिवर्तन हुआ है, और यह RainbowKit के iconUrl
और iconBackground
मेटाडेटा का समर्थन जारी रखता है।
getDefaultConfig
के साथ उदाहरण:
createConfig
के साथ उदाहरण:
5. कस्टम वॉलेट्स
RainbowKit वॉलेट कनेक्टर्स ने Wagmi v2 का समर्थन करने के लिए पर्याप्त परिवर्तन किए हैं। अपने dApp में किसी भी कस्टम वॉलेट कनेक्टर्स को अपग्रेड करने के लिए अपडेटेड डॉक्स और उदाहरण कनेक्टर को देखें। अपने dApp में किसी भी कस्टम वॉलेट कनेक्टर्स को अपग्रेड करने के लिए अपडेटेड डॉक्यूमेंट्स और उदाहरण कनेक्टर का सन्दर्भ लें।
वॉलेट कनेक्टर्स अब rdns
प्रोप के साथ EIP-6963 मानक का समर्थन भी करते हैं। सुनिश्चित करें कि इसे भरा गया है ताकि आपके वॉलेट सूची में EIP-6963 का समर्थन करने वाले वॉलेटस के डुप्लिकेट संदर्भों को रोका जा सके।
wagmi सहकर्मी निर्भरता को 1.x.x
के लिए अपडटे किया गया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
**1. RainbowKit और wagmi
को उनके नवीनतम संस्करण में अपग्रेड करें
**2. viem
सहकर्मी निर्भरता स्थापित करें
wagmi v1 को viem
सहकर्मी निर्भरता की आवश्यकता है। निम्नलिखित कमांड के साथ इसे स्थापित करें:
**3. बंडलर और पॉलीफिल संगतता सुनिश्चित करें
wagmi के पिछले संस्करणों में जो ethers पर निर्भर थे, WalletConnect द्वारा आवश्यक fs
, net
, और tls
मॉड्यूल स्वचालित रूप से पॉलीफिल्ड किए गए थे। यह मामला अब RainbowKit v1 + wagmi v1 के साथ नहीं है, जो viem पर निर्मित हैं।
अपने प्रोजेक्ट के लिए कॉन्फिगरेशन मार्गदर्शन के लिए हमारे Next.js Webpack Config और Create React App polyfills नमूनों का पुणः संदर्भ लें।
Vite और Remix के लिए अतिरिक्त ढांचा मार्गदर्शन उपलब्ध है यहां।
**4. wagmi
में तोड़ने वाले परिवर्तन की जांच करें
यदि आप अपने एप्लिकेशन में wagmi
हुक्स का उपयोग करते हैं, तो आपको v1 के लिए wagmi
के माइग्रेशन गाइड का पालन करने की आवश्यकता होगी।
आप यहां उनके माइग्रेशन गाइड देख सकते हैं।
wagmi पीर डिपेंडेंसी को 0.12.x
पर अपडेट किया गया है।
RainbowKit ने WalletConnectLegacyConnector
कनेक्टर को wagmi में अपनाया है जिससे WalletConnect v1 का समर्थन जारी रह सके। WalletConnect v2 और WalletConnectConnector
का समर्थन जल्द ही बिना किसी टूटने वाले परिवर्तन के एक पैच रिलीज़ के रूप में उपलब्ध होगा।
वॉलेट्स को भविष्य के रिलीजेज में स्वचालित रूप से स्थानांतरित किया जाएगा।
WalletConnect v2 को सक्षम करने के लिए हर dApp को अब एक WalletConnect Cloud projectId
प्रदान करना होगा। WalletConnect v1 ब्रिज सर्वरों के 28 जून, 2023 को बंद होने से पहले इसे पूरा होना चाहिए। अगर projectId
निर्दिष्ट नहीं किया गया है तो RainbowKit सभी वॉलेट्स के लिए v1 को चुपचाप पसंद करेगा।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
हर dApp जो WalletConnect पर निर्भर करता है अब उसे WalletConnect Cloud से एक projectId
प्राप्त करना होगा। यह बिल्कुल मुफ्त है और केवल कुछ मिनट लगते हैं।
getDefaultWallets
और व्यक्तिगत RainbowKit वॉलेट कनेक्टर्स को निम्नलिखित की तरह projectId
प्रदान करें:
wagmi पीर डिपेंडेंसी को 0.11.x
पर अपडेट किया गया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
यदि आप अपने एप्लिकेशन में wagmi
हुक्स का उपयोग करते हैं, तो आपको जांचने की आवश्यकता होगी कि क्या आपका एप्लिकेशन wagmi
में तोड़ने वाले परिवर्तनों से प्रभावित हो गया है।
आप यहां उनके माइग्रेशन गाइड देख सकते हैं।
wagmi पीर डिपेंडेंसी को 0.10.x
पर अपडेट किया गया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
यदि आप अपने एप्लिकेशन में wagmi
हुक्स का उपयोग करते हैं, तो आपको जांचने की आवश्यकता होगी कि क्या आपका एप्लिकेशन wagmi
में तोड़ने वाले परिवर्तनों से प्रभावित हो गया है।
आप यहां उनके माइग्रेशन गाइड देख सकते हैं।
wagmi पीर डिपेंडेंसी को 0.9.x
पर अपडेट किया गया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
यदि आप अपने एप्लिकेशन में wagmi
हुक्स का उपयोग करते हैं, तो आपको जांचने की आवश्यकता होगी कि क्या आपका एप्लिकेशन wagmi
में तोड़ने वाले परिवर्तनों से प्रभावित हो गया है।
आप यहां उनके माइग्रेशन गाइड देख सकते हैं।
wagmi पीर डिपेंडेंसी को 0.8.x
पर अपडेट किया गया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
यदि आप अपने एप्लिकेशन में wagmi
हुक्स का उपयोग करते हैं, तो आपको जांचने की आवश्यकता होगी कि क्या आपका एप्लिकेशन wagmi
में तोड़ने वाले परिवर्तनों से प्रभावित हो गया है।
आप यहां उनके माइग्रेशन गाइड देख सकते हैं।
यदि आप एक कस्टम वॉलेट सूची बना रहे हैं, तो आपको बंडल आकार को कम करने के लिए अब प्रत्येक वॉलेट को अलग से आयात करना होगा। ध्यान दें कि चूंकि वॉलेट अब wallet
वस्तु के माध्यम से नामित नहीं हैं, सभी वॉलेट्स में अब एक Wallet
प्रत्यय है।
यह भी ध्यान दें कि Steakwallet पिछड़ा संगतता परत हटा दी गई है। इसके बजाय Omni का उपयोग किया जाना चाहिए।
RainbowKit ने wagmi
सहकर्मी निर्भरता को 0.5.x
में अपडेट किया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
RainbowKit और wagmi को उनके नवीनतम संस्करण में अपग्रेड करें
यदि आप अपने एप्लिकेशन में wagmi
हुक्स का उपयोग करते हैं, तो आपको जांचने की आवश्यकता होगी कि क्या आपका एप्लिकेशन wagmi
में तोड़ने वाले परिवर्तनों से प्रभावित हो गया है।
आप यहां उनके माइग्रेशन गाइड देख सकते हैं।
Wallet
प्रकार पर createConnector
से chainId
पैरामीटर हटा दिया गया है।
ध्यान दें कि सभी इनबिल्ट वॉलेट नई API का उपयोग कर रहे हैं। अधिकांश उपभोक्ता अप्रभावित रहेंगे। इस परिवर्तन का प्रभाव केवल उन उपभोक्ताओं पर पड़ेगा जिन्होंने कस्टम वॉलेट्स बनाए/उपयोग किए हैं।
यदि आप पहले chainId
पर RPC URLs का निर्माण करते थे createConnector
, तो अब आप wagmi
के साथ configureChains
का उपऔग करते हुए RPC URLs को internally handle करते हैं, ऐसा आप अपनी logic remove कर सकते हैं।
RainbowKit ने wagmi
के पीर निर्भरता को ^0.4
के लिए अद्यतित किया है।
माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें।
RainbowKit और wagmi को उनके नवीनतम संस्करण में अपग्रेड करें
RainbowKit के बजाय wagmi से configureChains
को आयात करें:
RainbowKit अब apiProvider
API का निर्यात नहीं करता है। इसे wagmi से अपने इच्छित प्रदाता से प्रतिस्थापित करें।
wagmi/providers/alchemy
से alchemyProvider
को इम्पोर्ट करें।
wagmi/providers/infura
से infuraProvider
को इम्पोर्ट करें।
wagmi/providers/jsonRpc
से jsonRpcProvider
को इम्पोर्ट करें।
wagmi/providers/public
से publicProvider
को इम्पोर्ट करें।
WagmiProvider
का नाम बदलकर WagmiConfig
करें।
और आप हो गए! 🌈