एप्लिकेशन परिनियोजन

FastAPI एप्लिकेशन को तैनात करने के लिए, हम Uvicorn का उपयोग कर सकते हैं। सर्वर प्रारंभ करने के लिए निम्न कमांड चलाएँ:

यूविकॉर्न ऐप: ऐप--रीलोड

DeFi एप्लिकेशन का परीक्षण

हमारे DeFi एप्लिकेशन का परीक्षण करने के लिए, वेब ब्राउज़र में Index.html फ़ाइल खोलें और शेष राशि की जांच करने और टोकन ट्रांसफर करने के लिए दिए गए इंटरफ़ेस का उपयोग करें।

  1. शेष राशि जांचें: एक एथेरियम पता दर्ज करें और टोकन शेष देखने के लिए \\\"शेष राशि जांचें\\\" पर क्लिक करें।

  2. ट्रांसफर टोकन: प्राप्तकर्ता का पता और ट्रांसफर करने के लिए टोकन की मात्रा दर्ज करें, फिर लेनदेन शुरू करने के लिए \\\"ट्रांसफर\\\" पर क्लिक करें।

सुरक्षा संबंधी विचार

डेफी एप्लिकेशन बनाते समय, सुरक्षा सबसे महत्वपूर्ण है। निम्नलिखित सर्वोत्तम प्रथाओं पर विचार करें:

  1. स्मार्ट कॉन्ट्रैक्ट ऑडिट: अपने स्मार्ट कॉन्ट्रैक्ट का ऑडिट किसी पेशेवर सुरक्षा फर्म से कराएं।

  2. निजी कुंजी प्रबंधन: अपने एप्लिकेशन में कभी भी निजी कुंजी को हार्डकोड न करें। सुरक्षित कुंजी प्रबंधन प्रणालियों का उपयोग करें।

  3. इनपुट सत्यापन: पुनर्प्रवेश हमलों और अतिप्रवाह जैसी सामान्य कमजोरियों को रोकने के लिए सभी उपयोगकर्ता इनपुट को मान्य और स्वच्छ करें।

  4. दर सीमित करना: दुरुपयोग को रोकने के लिए अपने अंतिम बिंदुओं पर दर सीमित करना लागू करें।

  5. नियमित अपडेट: ज्ञात कमजोरियों को कम करने के लिए अपनी लाइब्रेरी और निर्भरता को अद्यतन रखें।

निष्कर्ष और भविष्य की दिशाएँ

\\\"Defi\\\"

इस लेख में, हमने पायथन इकोसिस्टम का उपयोग करके एक सरल DeFi एप्लिकेशन बनाया है। हमने DeFi की मूल बातें कवर कीं, Web3.py का उपयोग करके एथेरियम ब्लॉकचेन के साथ बातचीत की, एक स्मार्ट अनुबंध बनाया, फास्टएपीआई के साथ एक बैकएंड बनाया और एक फ्रंटएंड को एकीकृत किया।

DeFi अपार संभावनाओं वाला तेजी से विकसित होने वाला क्षेत्र है। आपके प्रोजेक्ट के लिए भविष्य के निर्देशों में शामिल हो सकते हैं:

इस प्रणाली का विस्तार करने और नई सुविधाओं और प्रोटोकॉल के साथ प्रयोग करने के लिए स्वतंत्र महसूस करें। हैप्पी कोडिंग!

","image":"http://www.luping.net","datePublished":"2024-07-31T16:30:03+08:00","dateModified":"2024-07-31T16:30:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन इकोसिस्टम का उपयोग करके एक विकेंद्रीकृत वित्त (डीएफआई) एप्लिकेशन का निर्माण

पायथन इकोसिस्टम का उपयोग करके एक विकेंद्रीकृत वित्त (डीएफआई) एप्लिकेशन का निर्माण

2024-07-31 को प्रकाशित
ब्राउज़ करें:270

विकेंद्रीकृत वित्त (डीएफआई) ब्लॉकचेन तकनीक का उपयोग करके खुली, पारदर्शी और अनुमति रहित वित्तीय सेवाएं प्रदान करके वित्तीय उद्योग में क्रांति ला रहा है। इस लेख में, हम यह पता लगाएंगे कि पायथन इकोसिस्टम का उपयोग करके एक सरल डेफी एप्लिकेशन कैसे बनाया जाए। हम निम्नलिखित विषयों को कवर करेंगे:

  • DeFi का परिचय
  • विकास परिवेश की स्थापना
  • ब्लॉकचेन के साथ इंटरेक्शन
  • स्मार्ट अनुबंध बनाना
  • FastAPI के साथ एक बैकएंड का निर्माण
  • फ़्रंटएंड को Web3.py के साथ एकीकृत करना
  • एप्लिकेशन परिनियोजन
  • DeFi एप्लिकेशन का परीक्षण
  • सुरक्षा संबंधी विचार
  • निष्कर्ष और भविष्य की दिशाएं

डेफी का परिचय

DeFi बैंकों जैसे पारंपरिक वित्तीय मध्यस्थों पर भरोसा किए बिना ऋण देने, उधार लेने, व्यापार करने और ब्याज अर्जित करने जैसी वित्तीय सेवाएं प्रदान करने के लिए ब्लॉकचेन तकनीक का लाभ उठाता है। डेफी के प्रमुख घटकों में स्मार्ट कॉन्ट्रैक्ट, विकेंद्रीकृत एप्लिकेशन (डीएपी), और एथेरियम जैसे ब्लॉकचेन प्लेटफॉर्म शामिल हैं।

विकास परिवेश की स्थापना

शुरू करने से पहले, सुनिश्चित करें कि आपके पास पायथन स्थापित है। हम Web3.py, FastAPI और ब्राउनी सहित कई पायथन लाइब्रेरी का उपयोग करेंगे। एक आभासी वातावरण बनाएं और आवश्यक पैकेज स्थापित करें:

पायथन -एम वेनव वेनव
स्रोत venv/bin/activate # विंडोज़ पर, उपयोगvenv\Scripts\activate
पिप इंस्टाल वेब3 फास्टापी यूविकॉर्न पाइडैंटिक ब्राउनी

ब्लॉकचेन के साथ इंटरेक्शन

हम एथेरियम ब्लॉकचेन के साथ इंटरैक्ट करने के लिए Web3.py का उपयोग करेंगे। आइए एक ब्लॉकचेन नेटवर्क से जुड़कर शुरुआत करें (हम रोपस्टेन टेस्टनेट का उपयोग करेंगे) और एक पते के संतुलन की जांच करेंगे।

ब्लॉकचेन.py

from web3 import Web3

# Connect to the Ropsten testnet
infura_url = 'https://ropsten.infura.io/v3/YOUR_INFURA_PROJECT_ID'
web3 = Web3(Web3.HTTPProvider(infura_url))

def check_balance(address):
    balance = web3.eth.get_balance(address)
    return web3.fromWei(balance, 'ether')

स्मार्ट कॉन्ट्रैक्ट बनाना

स्मार्ट अनुबंध स्व-निष्पादित अनुबंध हैं जिनमें अनुबंध की शर्तें सीधे कोड में लिखी जाती हैं। हम टोकन के लिए एक सरल स्मार्ट अनुबंध लिखने के लिए सॉलिडिटी का उपयोग करेंगे।

contracts/Token.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Token {
    string public name = "MyToken";
    string public symbol = "MTK";
    uint8 public decimals = 18;
    uint256 public totalSupply = 1000000 * (10 ** uint256(decimals));
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    constructor() {
        balanceOf[msg.sender] = totalSupply;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(_to != address(0));
        require(balanceOf[msg.sender] >= _value);

        balanceOf[msg.sender] -= _value;
        balanceOf[_to]  = _value;

        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_to != address(0));
        require(balanceOf[_from] >= _value);
        require(allowance[_from][msg.sender] >= _value);

        balanceOf[_from] -= _value;
        balanceOf[_to]  = _value;
        allowance[_from][msg.sender] -= _value;

        emit Transfer(_from, _to, _value);
        return true;
    }
}

ब्राउनी का उपयोग करके अनुबंध संकलित और तैनात करें:

ब्राउनी init
ब्राउनी संकलन
ब्राउनी खाता नया नियोक्ता
ब्राउनी रन स्क्रिप्ट/deploy.py

scripts/deploy.py

from brownie import Token, accounts

def main():
    deployer = accounts.load('deployer')
    token = Token.deploy({'from': deployer})

Defi diagram

फास्टएपीआई के साथ बैकएंड का निर्माण

हम अपने स्मार्ट अनुबंध के साथ बातचीत करने के लिए एक फास्टएपीआई बैकएंड बनाएंगे। बैकएंड शेष राशि की जांच करने और टोकन स्थानांतरित करने के लिए अंतिम बिंदु प्रदान करेगा।

app.py

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from web3 import Web3
import json

app = FastAPI()

infura_url = 'https://ropsten.infura.io/v3/YOUR_INFURA_PROJECT_ID'
web3 = Web3(Web3.HTTPProvider(infura_url))
contract_address = 'YOUR_CONTRACT_ADDRESS'
abi = json.loads('[YOUR_CONTRACT_ABI]')

contract = web3.eth.contract(address=contract_address, abi=abi)
deployer = web3.eth.account.privateKeyToAccount('YOUR_PRIVATE_KEY')

class TransferRequest(BaseModel):
    to: str
    amount: float

@app.get("/balance/{address}")
async def get_balance(address: str):
    try:
        balance = contract.functions.balanceOf(address).call()
        return {"balance": web3.fromWei(balance, 'ether')}
    except Exception as e:
        raise HTTPException(status_code=400, detail=str(e))

@app.post("/transfer")
async def transfer_tokens(transfer_request: TransferRequest):
    try:
        to_address = transfer_request.to
        amount = web3.toWei(transfer_request.amount, 'ether')
        nonce = web3.eth.getTransactionCount(deployer.address)
        txn = contract.functions.transfer(to_address, amount).buildTransaction({
            'chainId': 3,
            'gas': 70000,
            'gasPrice': web3.toWei('1', 'gwei'),
            'nonce': nonce,
        })
        signed_txn = web3.eth.account.signTransaction(txn, private_key=deployer.key)
        tx_hash = web3.eth.sendRawTransaction(signed_txn.rawTransaction)
        return {"transaction_hash": web3.toHex(tx_hash)}
    except Exception as e:
        raise HTTPException(status_code=400, detail=str(e))

Web3.py के साथ फ्रंटएंड को एकीकृत करना

हम अपने फास्टएपीआई बैकएंड के साथ इंटरैक्ट करने और टोकन बैलेंस प्रदर्शित करने और ट्रांसफर की सुविधा के लिए एक सरल फ्रंटएंड बना सकते हैं। यहां, हम इस इंटरैक्शन को प्रदर्शित करने के लिए न्यूनतम HTML और JavaScript सेटअप का उपयोग करेंगे।

index.html



    DeFi Application


    

DeFi Application

Check Balance

Transfer Tokens

एप्लिकेशन परिनियोजन

FastAPI एप्लिकेशन को तैनात करने के लिए, हम Uvicorn का उपयोग कर सकते हैं। सर्वर प्रारंभ करने के लिए निम्न कमांड चलाएँ:

यूविकॉर्न ऐप: ऐप--रीलोड

DeFi एप्लिकेशन का परीक्षण

हमारे DeFi एप्लिकेशन का परीक्षण करने के लिए, वेब ब्राउज़र में Index.html फ़ाइल खोलें और शेष राशि की जांच करने और टोकन ट्रांसफर करने के लिए दिए गए इंटरफ़ेस का उपयोग करें।

  1. शेष राशि जांचें: एक एथेरियम पता दर्ज करें और टोकन शेष देखने के लिए "शेष राशि जांचें" पर क्लिक करें।

  2. ट्रांसफर टोकन: प्राप्तकर्ता का पता और ट्रांसफर करने के लिए टोकन की मात्रा दर्ज करें, फिर लेनदेन शुरू करने के लिए "ट्रांसफर" पर क्लिक करें।

सुरक्षा संबंधी विचार

डेफी एप्लिकेशन बनाते समय, सुरक्षा सबसे महत्वपूर्ण है। निम्नलिखित सर्वोत्तम प्रथाओं पर विचार करें:

  1. स्मार्ट कॉन्ट्रैक्ट ऑडिट: अपने स्मार्ट कॉन्ट्रैक्ट का ऑडिट किसी पेशेवर सुरक्षा फर्म से कराएं।

  2. निजी कुंजी प्रबंधन: अपने एप्लिकेशन में कभी भी निजी कुंजी को हार्डकोड न करें। सुरक्षित कुंजी प्रबंधन प्रणालियों का उपयोग करें।

  3. इनपुट सत्यापन: पुनर्प्रवेश हमलों और अतिप्रवाह जैसी सामान्य कमजोरियों को रोकने के लिए सभी उपयोगकर्ता इनपुट को मान्य और स्वच्छ करें।

  4. दर सीमित करना: दुरुपयोग को रोकने के लिए अपने अंतिम बिंदुओं पर दर सीमित करना लागू करें।

  5. नियमित अपडेट: ज्ञात कमजोरियों को कम करने के लिए अपनी लाइब्रेरी और निर्भरता को अद्यतन रखें।

निष्कर्ष और भविष्य की दिशाएँ

Defi

इस लेख में, हमने पायथन इकोसिस्टम का उपयोग करके एक सरल DeFi एप्लिकेशन बनाया है। हमने DeFi की मूल बातें कवर कीं, Web3.py का उपयोग करके एथेरियम ब्लॉकचेन के साथ बातचीत की, एक स्मार्ट अनुबंध बनाया, फास्टएपीआई के साथ एक बैकएंड बनाया और एक फ्रंटएंड को एकीकृत किया।

DeFi अपार संभावनाओं वाला तेजी से विकसित होने वाला क्षेत्र है। आपके प्रोजेक्ट के लिए भविष्य के निर्देशों में शामिल हो सकते हैं:

  • अधिक DeFi प्रोटोकॉल को एकीकृत करना: अन्य DeFi प्रोटोकॉल जैसे ऋण देने वाले प्लेटफ़ॉर्म (जैसे, Aave) या विकेन्द्रीकृत एक्सचेंज (जैसे, Uniswap) को एकीकृत करने का अन्वेषण करें।

  • फ्रंटएंड को बढ़ाना: React.js या Vue.js जैसे फ्रेमवर्क का उपयोग करके अधिक परिष्कृत फ्रंटएंड बनाएं।

  • उपयोगकर्ता प्रमाणीकरण जोड़ना: अधिक व्यक्तिगत अनुभव बनाने के लिए उपयोगकर्ता प्रमाणीकरण और प्राधिकरण लागू करें।

  • स्मार्ट अनुबंध कार्यक्षमता का विस्तार: अपने स्मार्ट अनुबंध में अधिक सुविधाएँ जोड़ें, जैसे हिस्सेदारी, शासन, या उपज खेती।

इस प्रणाली का विस्तार करने और नई सुविधाओं और प्रोटोकॉल के साथ प्रयोग करने के लिए स्वतंत्र महसूस करें। हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/rishishrma/building-a-decentralized-finance-defi-application-using-python-ecosystem-o6j?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com से संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3