आपके USDC पर कल की दर के बराबर ब्याज मिल रहा है।Quicknode कमाई करने पर यह स्वचालित रूप से आज के सर्वश्रेष्ठ मॉर्फो वॉल्ट में चला जाता है। 7 चेन पर लाइव।
अपनी रणनीति बनाएंट्रफल 5 के साथ वाइपर में स्मार्ट कॉन्ट्रैक्ट बनाएं
ट्रफल v5 के रिलीज में वाइपर सपोर्ट शामिल था, और आज हम जानेंगे कि हम स्मार्ट कॉन्ट्रैक्ट कैसे बना सकते हैं और इसे कैसे डिप्लॉय कर सकते हैं। Ethereum 'एस MainNet .

16 जनवरी, 2019 — पढ़ने में 5 मिनट लगेंगे

ट्रफल v5 के रिलीज में वाइपर सपोर्ट शामिल था, और आज हम जानेंगे कि हम स्मार्ट कॉन्ट्रैक्ट कैसे बना सकते हैं और इसे कैसे डिप्लॉय कर सकते हैं। Ethereum 'एस MainNet .
एक कुशल स्मार्ट कॉन्ट्रैक्ट भाषा का निर्माण करना एक अरबों डॉलर की समस्या है। कई स्मार्ट कॉन्ट्रैक्ट भाषाएँ मुख्यधारा में आने की होड़ में नवाचार के शिखर पर हैं। सुप्रसिद्ध "सॉलिडिटी" के अलावा, कई प्रायोगिक भाषाएँ भी हैं जो इस लक्ष्य को प्राप्त करने के लिए काम कर रही हैं। Ethereum :
बैम्बू — एक रूपांतरित होने वाली स्मार्ट कॉन्ट्रैक्ट भाषा (वर्तमान में सक्रिय रूप से विकसित नहीं की जा रही है)
वाइपर — नई प्रायोगिक पायथॉनिक प्रोग्रामिंग भाषा (सक्रिय रूप से विकसित की जा रही है)
LLL — निम्न-स्तरीय लिस्प जैसी भाषा (अभी सक्रिय रूप से विकसित नहीं की जा रही है)
फ्लिंट — परिसंपत्ति प्रकार, स्थिति संक्रमण और सुरक्षित पूर्णांक सहित सुरक्षा सुविधाओं के साथ विकास के अधीन एक नई भाषा (सक्रिय रूप से विकसित की जा रही है)
पिरामिड — स्कीम प्रोग्रामिंग भाषा की एक बोली जो लक्षित करती है Ethereum वर्चुअल मशीन (ईवीएम)। (वर्तमान में विकास कार्य जारी नहीं है)
वाइपर एक प्रायोगिक स्मार्ट कॉन्ट्रैक्ट भाषा है। इसका उद्देश्य सरलता, सुगम पठनीयता और सुरक्षा प्रदान करना है। साथ ही, वाइपर का सिंटैक्स पायथन से मिलता जुलता है।
“Vyper एक अनुबंध-उन्मुख, पायथॉनिक प्रोग्रामिंग भाषा है जो लक्षित करती है Ethereum वर्चुअल मशीन (ईवीएम)”
सरलता — Vyper सरलता पर ध्यान केंद्रित करता है और त्रुटि-रहित कोड लिखने की संभावनाओं को अधिकतम करता है। इसका कंपाइलर कार्यान्वयन भी सरलता के लिए प्रयासरत है।
सुरक्षा और श्रव्यता — सुरक्षित अनुबंध बनाना स्वाभाविक है, यही Vyper का लक्ष्य है; कोड सहज रूप से पढ़ा जा सकना चाहिए। flow किसी भी पाठक के लिए। इसीलिए वाइपर एक-पेज स्मार्ट कॉन्ट्रैक्ट बनाने को प्रोत्साहित करता है। कोड की पठनीयता बेहतर कोड श्रवण क्षमता प्रदान करती है।
एक भाषा के रूप में वाइपर के लक्ष्य सॉलिडिटी से भिन्न हैं। सरलता, पठनीयता और श्रव्यता प्राप्त करने के लिए, वाइपर में सॉलिडिटी की कुछ विशेषताएं जैसे मॉडिफायर और इनहेरिटेंस शामिल नहीं हैं। इसके अलावा, वाइपर में निम्नलिखित भी शामिल नहीं हैं:
फ़ंक्शन ओवरलोडिंग
ऑपरेटर ओवरलोडिंग (17 जनवरी 2018 तक सॉलिडिटी भी इसका समर्थन नहीं करती है)
रिकर्सिव कॉलिंग
अनंत-लंबाई वाले लूप
इनलाइन असेंबली
बाइनरी निश्चित बिंदु
Vyper अपने डिज़ाइन लक्ष्यों को प्राप्त करने के लिए उपरोक्त सभी चीजों का त्याग करता है। हालांकि, Vyper कुछ दिलचस्प विशेषताएं भी प्रदान करता है:
बाउंड्स और ओवरफ्लो की जाँच: एरे एक्सेस के साथ-साथ अंकगणितीय स्तर पर भी, जिससे प्रदर्शन में सुधार होता है और विश्वसनीयता और सुरक्षा बढ़ती है।
चिह्नांकित पूर्णांकों और दशमलव निश्चित बिंदु संख्याओं के लिए समर्थन
निर्णय क्षमता: किसी भी फ़ंक्शन कॉल की गैस खपत के लिए एक सटीक ऊपरी सीमा की गणना करना संभव होना चाहिए।
मजबूत टाइपिंग: इकाइयों के लिए समर्थन सहित (जैसे टाइमस्टैम्प, टाइमडेल्टा, सेकंड, वेई, वेई प्रति सेकंड, मीटर प्रति सेकंड वर्ग)।
छोटा और समझने योग्य कंपाइलर कोड
शुद्ध कार्यों के लिए सीमित समर्थन: किसी भी चीज़ को स्थिरांक के रूप में चिह्नित करने से उसकी स्थिति में परिवर्तन की अनुमति नहीं है।
उपरोक्त विशेषताओं में से, निर्णय लेने की क्षमता एक बहुत ही महत्वपूर्ण विशेषता है जिसका उपयोग आप गैस उपयोग की अपनी ऊपरी सीमा का अनुमान लगाने के लिए कर सकते हैं। यह गैस अनुकूलन में सहायक हो सकता है, जो एक स्मार्ट कॉन्ट्रैक्ट प्लेटफॉर्म का एक बहुत ही महत्वपूर्ण हिस्सा है।
चलिए अब Vyper इंस्टॉल करते हैं। यदि आप MacOS का उपयोग कर रहे हैं, तो निर्देश यहाँ देखें (मैं Ubuntu 16.10 का उपयोग कर रहा हूँ)।
ध्यान दें - Vyper अभी विकास के चरण में है, इसलिए यदि आपको इंस्टॉलेशन में कोई त्रुटि आती है तो धैर्य न खोएं। 😃
पाइथन इंस्टॉल करें
sudo apt-get update sudo apt-get install python3.6 sudo apt-get install python3-dev
आभासी वातावरण बनाएं
यदि आपने पहले कभी पायथन पर काम किया है, तो आपको वर्चुअल पायथन वातावरण के बारे में अवश्य ही जानकारी होगी। वाइपर को वर्चुअल पायथन वातावरण में स्थापित करने की पुरजोर अनुशंसा की जाती है।
Vyper के लिए एक नया वर्चुअल वातावरण बनाने के लिए, निम्नलिखित कमांड चलाएँ:
sudo apt install virtualenv virtualenv -p python3.6 --no-site-packages ~/vyper-venv source ~/vyper-venv/bin/activate
आप अभी भी वर्चुअल वातावरण में होंगे... अब चलिए Vyper इंस्टॉल करते हैं:
git clone https://github.com/ ethereum /vyper.git cd vyper make make test
अगर सब कुछ ठीक रहा, तो सबसे पहले बाइट गॉड को धन्यवाद दें 😃 और एक उदाहरण अनुबंध संकलित करें:
vyper examples/crowdfund.vy
इंस्टॉलेशन डायरेक्टरी के उदाहरण फ़ोल्डर में कई उदाहरण मौजूद हैं। हम आने वाले लेखों में Vyper के उपयोग के बारे में विस्तार से जानेंगे, इसलिए नीचे दिए गए सब्सक्राइब बटन को दबाना न भूलें!
वाइपर के साथ ट्रफल
ट्रफल 5 हाल ही में लॉन्च हुआ है और इसमें वाइपर सपोर्ट शामिल है। तो चलिए नवीनतम संस्करण में अपग्रेड करते हैं और एक वाइपर उदाहरण बॉक्स (ट्रफल बॉक्स, याद है?) प्रदान करते हैं:
npm uninstall -g truffle npm install truffle
अब चलिए इसे डाउनलोड करते हैं। वाइपर-उदाहरण ट्रफल बॉक्स। एक खाली रिपॉजिटरी में नीचे दिए गए कमांड को चलाएं:
ट्रफल अनबॉक्स वाइपर-उदाहरण
चलिए अपना पहला वाइपर कॉन्ट्रैक्ट चलाते हैं। इसमें शामिल हो जाइए। वाइपर-उदाहरण डायरेक्टरी में जाएं और ट्रफल कंसोल खोलें:
cd vyper-example truffle develop अब आइए अपने कॉन्ट्रैक्ट को कंपाइल और डिप्लॉय करें: compile migrate
अब आइए देखते हैं हमारा पहला वाइपर स्मार्ट कॉन्टैक्ट:
संग्रहीत डेटा: uint256 @public def set(new_value : uint256): self.stored_data = new_value @public @constant def get() -> uint256: return self.stored_data
यह एक बहुत ही बुनियादी वाइपर स्मार्ट कॉन्ट्रैक्ट है, जो केवल एक स्टेट वेरिएबल को स्टोर करता है। संग्रहीत_डेटा और दो सार्वजनिक पाना और तय करना तरीका। @जनता यह बताता है कि विधि सार्वजनिक है, और @स्थिर एक प्रकार का है शुद्ध Solidity में मॉडिफायर जो यह बताता है कि यह विधि किसी भी स्थिति को नहीं बदलती है। आइए, अपने स्मार्ट कॉन्टैक्ट को उसी ट्रफल कंसोल पर टेस्ट करें:
VyperStorage.deployed().then((token) => {contract = token;}
contract.set(1)
contract.get(0)अब आइए अपने स्मार्ट कॉन्ट्रैक्ट को तैनात करें MainNet हम अपने स्वयं के Quicknode का उपयोग कर रहे हैं। सबसे पहले, हमें लेनदेन पर हस्ताक्षर करने और कनेक्शन स्थापित करने के लिए HDWalletProvider को इंस्टॉल करना होगा। Ethereum नेटवर्क।
$ npm install truffle-hdwallet-provider
इसके बाद, truffle.js में हमें अपना वॉलेट प्रदाता सेट अप करना होगा (इसका उपयोग करके) Quicknode वेब3 यूआरएल):
var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = "YOUR_MEMONICS"; // use a funded wallet
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
},
kovan: {
provider: function() {
return new HDWalletProvider(mnemonic,
"https://mistakenly-smart-jay.quicknode.io/86d9e35e-8cdb-47ad-80a4-84f9e9537afa/C0_tKUunhUc0rM_i1HMxHA==/"
)
},
network_id: 42
}
}
};बस इतना ही, आपने ट्रफल का उपयोग करके अपना पहला वाइपर स्मार्ट कॉन्ट्रैक्ट चलाया और तैनात किया!
आने वाले ब्लॉगों में, हम वाइपर भाषा और अधिक जटिल स्मार्ट अनुबंधों के निर्माण के बारे में और अधिक विस्तार से चर्चा करेंगे।
Vyper एक प्रायोगिक भाषा है, लेकिन इसका समुदाय काफी सक्रिय है और दिलचस्प टूल विकसित कर रहा है (पूरी सूची यहां देखें)। Vyper, Python के सरलता के लक्ष्यों से प्रेरणा लेता है और नए Web3 डेवलपर्स को बेहतर स्मार्ट कॉन्ट्रैक्ट्स को तेजी से समझने और बनाने में मदद कर सकता है।
क्या आपको अपने प्रोजेक्ट में मदद चाहिए या कोई सवाल है? इस फॉर्म के ज़रिए, ट्विटर पर Quicknode पर या Discord पर हमसे संपर्क करें!
2017 में स्थापित, Quicknode यह डेवलपर्स और उद्यमों के लिए संस्थागत स्तर का ब्लॉकचेन इंफ्रास्ट्रक्चर तैनात करता है। 99.99% अपटाइम और 80 से अधिक चेन के समर्थन के साथ, टीमें बिना किसी समझौते के ऑनचेन एप्लिकेशन बनाती और स्केल करती हैं।
नवीनतम इंजीनियरिंग संबंधी जानकारियां, उत्पाद अपडेट और वेब3 समाचार सीधे आपके इनबॉक्स में पहुंचाए जाएंगे।
एसओसी 2 टाइप II प्रमाणित · आईएसओ 27001