opensea로 표시된 도난당한 NFT 분석

7299 단어

개요



이것은 해커톤 데이터 분석 프로젝트입니다. 상위 2300개의 nfts를 볼륨별로 정렬하여 분석합니다. 자세한 목록은 내 GitHub 저장소에서 찾을 수 있습니다. 또는 여기를 클릭하십시오.
https://github.com/coffiasd/hackathon-data-analytics/blob/main/data/RankNFTS.csv

CSV 데이터



아래는 내가 수집한 모든 csv 파일입니다. RankNFTs.csv는 상위 2300개의 NFT 목록입니다. tokenIds/{contract}.csv는 도난당한 NFTs tokenID list.lastSalePrice/{contract}.csv는 각 tokenId의 마지막 판매 가격입니다.
  • RankNFTs.csv
  • 토큰 ID/{계약}.csv
  • lastSalePrice/{계약}.csv

  • 파이썬 스크립트



    위의 내 github 저장소에서 모든 스크립트를 얻을 수 있습니다.
  • getNFTsRankTopVolume.py(최고 볼륨 NFT 및 & 도난당한 NFT 목록 가져오기)
  • getNFTsDetail.py(NFT의 마지막 판매 가격 가져오기)
  • caculateStolen.py(결과 계산)

  • def getNftsRankTopVolume(page):
        url = "https://api.traitsniper.com/v1/collections?page=" + \
            str(page)+"&limit=100&sort_total_volume=desc"
    
        headers = {
            "accept": "application/json",
            "x-ts-api-key": TraitsniperApiKey
        }
    
        response = requests.get(url, headers=headers)
        resp_dict = json.loads(response.text)
    
    def caculateContractItem(contractAddress, table):
        # get collection detail
        item = getCollectionDetail(contractAddress)
    
        # read stolen nfts list
        data = pd.read_csv("../data/stolen/lastSalePrice/" +
                           contractAddress+".csv", header=None)
        # caculate items
        num = data.count()
        sum = 0
        for index, row in data.iterrows():
            if row[1] > item["floor_price"]:
                sum += row[1]
            else:
                sum += item["floor_price"]
        table.rows.append([item["nft_name"], contractAddress, item["total_volume"],
                           sum, sum/item["total_volume"], num[0]])
    


    컬렉션 가져오기



    가장 먼저 우리는 각 컬렉션의 목록을 가져와야 하며 그런 다음 도난당한 nfts 목록을 가져와야 합니다.

    도난당한 각 nft의 가격을 계산하는 방법은 무엇입니까?
  • 이 항목에 과거 가격 && the latest_price>floor_price가 있는 경우 latest_price를 가치로 사용합니다.
  • latest_price
  • 이 항목에 과거 가격이 없으면 현재 가격 하한선을 가치로 간주합니다.

  • # worth
    # latest_history_price
    # floor_price
    var worth = 0
    
    if(item_has("latest_history_price")){
        if(latest_history_price> floor_price){
        worth = latest_history_price
        }else{
        worth = floor_price
        }
    }else{
        worth = floor_price
    }
    


    계산하다



    도난된 계약으로 표시된 각각을 분석하여 도난당한 볼륨과 도난당한 NFT 수를 찾습니다. 아래는 caculateStolen.py를 실행한 후의 출력입니다. 위의 github 저장소에서 소스 코드를 얻을 수 있습니다.

    좋은 웹페이지 즐겨찾기