პულები 18
მაინერები N/A
ვორკერები N/A
დეველოპერებისთვის

პულის API

ყველა HeroMiners პული პასუხობს მხოლოდ წასაკითხი HTTP ენდპოინტების ერთსა და იმავე ნაკრებს. გასაღები, ანგარიში და რეგისტრაცია არ არის საჭირო: მოითხოვეთ URL და მიიღებთ JSON-ს, დაყენებული Access-Control-Allow-Origin: * სათაურით, რათა ბრაუზერში გახსნილმა გვერდმა პირდაპირ გამოიძახოს. გამოიყენეთ მაინინგ-რიგის მონიტორის, გადახდის შეტყობინებების, საკუთარი დაფის ასაწყობად, ან პულის მონაცემების ცხრილში გადასატანად.

ყველა მონეტას თავისი პული აქვს, თავისი ციფრებითა და მისამართის ფორმატით, ამიტომ ჯერ აირჩიეთ მონეტა და შეიყვანეთ მისამართი სწორედ იმ მონეტისთვის. აქ აკრეფილი არაფერი იგზავნება სხვაგან, გარდა თავად პულისა, და მხოლოდ მაშინ, როცა გაშვებას დააჭერთ.

საბაზო URL
https://alephium.herominers.com

ენდპოინტები

GET /api/stats

ყველაფერი, რაც პულმა საკუთარ თავზე ახლა იცის: პულისა და ქსელის ჰეშრეიტი, დაკავშირებული მაინერები და ვორკერები, ბოლო ბლოკი, საკომისიოები, პორტები და გადახდის პარამეტრები.

პარამეტრები
address
გადახდის მისამართი. ამატებს ამ მაინერს miner გასაღებში, და solo_miner გასაღებშიც, თუ სოლო მაინინგსაც ეწევა. თუ გამოტოვებთ, არცერთი გასაღები არ გაიგზავნება.

ეს ის ენდპოინტია, რომლითაც უნდა დაიწყოთ. პულის გვერდი, მაინერების გვერდი და ამ საიტის ყველა დიაგრამა მასზეა აგებული.

მოთხოვნა
curl "https://alephium.herominers.com/api/stats"
პასუხი

ობიექტი, რომელშიც არის pool, network, config, charts, lastblock, payments და visitors, ანუ რამდენი ადამიანია ახლა საიტზე, ფორმით { windowMinutes, activeVisitors, activeLookups }. ხელახლა გამოითვლება სტატისტიკის ყოველ ციკლში ერთხელ, ამიტომ უფრო ხშირი მოთხოვნა იმავე ციფრებს დააბრუნებს.

GET /api/live_stats

იგივე მონაცემები, რაც /api/stats, მაგრამ მოთხოვნა ღია რჩება სტატისტიკის შემდეგი ციკლის დასრულებამდე და შემდეგ პასუხობს. ერთი მოთხოვნა თითო განახლებაზე, ტაიმერით გამოკითხვის ნაცვლად.

პარამეტრები
address
მაინერის ჩართვა პასუხში, ისევე როგორც /api/stats.

გახსენით ერთი კავშირი და ხელახლა გახსენით, როცა უპასუხებს. ერთი IP-დან ერთდროულად რამდენიმე ღია კავშირი 503 შეცდომით უარყოფილია, ამიტომ ნუ გაუშვებთ პარალელურად.

მოთხოვნა
curl "https://alephium.herominers.com/api/live_stats"
პასუხი

იგივე სტრუქტურა, რაც /api/stats, გარდა იმისა, რომ miner და solo_miner ყოველთვის იგზავნება, ცარიელი, თუ მისამართი არ იყო მითითებული. მოთხოვნა ღია რჩება სტატისტიკის მაქსიმუმ ერთი ციკლის განმავლობაში.

GET /api/stats_address

ერთი მაინერი: მიმდინარე და საშუალო ჰეშრეიტი, ვალიდური და მოძველებული შეარები, ბალანსი, გადახდილი თანხა და იგივე ციფრები თითოეული ვორკერისთვის.

პარამეტრები
addressსავალდებულო
გადახდის მისამართი, რომელსაც ეძებთ.
მოთხოვნა
curl "https://alephium.herominers.com/api/stats_address"

ამის გასაშვებად ზემოთ შეიყვანეთ address. ბრძანება მას აჩვენებს, რადგან მის გარეშე პული შეცდომით პასუხობს.

პასუხი

ობიექტი, რომელშიც არის stats (მაინერის ჯამები), payments, charts, unlocked და workers, მასივი თითო ჩანაწერით თითოეულ ვორკერზე, დასახელებული მისი name ველით. მისამართი, რომელსაც აქ არასდროს უმაინინგია, ცარიელი მაინერის ნაცვლად შეცდომას მიიღებს.

GET /api/get_blocks

პულის მიერ ნაპოვნი ბლოკები, რომლებიც აღარ არის მოლოდინში: გადახდილი ან ობოლი. status აჩვენებს, რომელია.

პარამეტრები
heightსავალდებულო
აბრუნებს ბლოკებს ამ სიმაღლის ქვემოთ. უახლესი გვერდისთვის მიუთითეთ ჯაჭვის წვეროზე ბევრად მეტი რიცხვი, შემდეგ კი მიღებული ყველაზე დაბალი სიმაღლე უკან გადასაფურცლად.

მპოვნელის მისამართი პულიდან გასვლამდე იმალება, ამიტომ ამ ენდპოინტით მისამართების შეგროვება შეუძლებელია. time არის Unix წამებში, reward მონეტის უმცირეს ერთეულში, ხოლო სოლო ბლოკს აქვს score მნიშვნელობით s0, თუ გადახდილია, ან s1, თუ ობოლი გახდა.

მოთხოვნა
curl "https://alephium.herominers.com/api/get_blocks?height=9999999999"
პასუხი

ბრტყელი მასივი, სადაც მნიშვნელობა და სიმაღლე მონაცვლეობს: [block, height, block, height, ...]. ყოველი ბლოკის ველები ორწერტილითაა გამოყოფილი:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

პულის მიერ გაგზავნილი გადახდები, მთელი პულისთვის ან ერთი მისამართისთვის.

პარამეტრები
timeსავალდებულო
აბრუნებს გადახდებს ამ Unix დროის ნიშნულამდე, წამებში. უახლესი გვერდისთვის გამოიყენეთ მიმდინარე დრო, შემდეგ კი მიღებული ყველაზე ძველი ნიშნული უკან გადასაფურცლად.
address
შეზღუდვა ერთი გადახდის მისამართით. გამოტოვეთ პულის ყველა გადახდისთვის.
limit
რამდენი დაბრუნდეს. იზღუდება პულის საკუთარი გვერდის ზომით, ამიტომ უფრო დიდი რიცხვი უბრალოდ მას დააბრუნებს.
format
მიუთითეთ parsed, რომ ნედლი მასივის ნაცვლად მიიღოთ { tx, amount, time } ობიექტები.
conversions
address პარამეტრთან ერთად მიუთითეთ 1, რომ ასევე მიიღოთ კონვერტაციის ჩანაწერი გვერდზე არსებული ყოველი გადახდისთვის, რომელიც სხვა მონეტაში გადაიცვალა. პასუხი მაშინ ხდება { payments, conversions }. format=parsed პარამეტრთან ერთად იგნორირდება.
მოთხოვნა
curl "https://alephium.herominers.com/api/get_payments?time=1792758504"
პასუხი

format პარამეტრის გარეშე, ბრტყელი მასივი, სადაც მნიშვნელობა და დროის ნიშნული მონაცვლეობს, და ყოველი მნიშვნელობა არის txid:amount. თანხები სტრიქონებია მონეტის უმცირეს ერთეულში და სტრიქონებად უნდა დარჩეს: რიცხვად გარდაქმნისას 18 ათწილადიან ჯაჭვზე სიზუსტე იკარგება.

GET /api/get_miners_stats

პულის ათი უდიდესი მაინერი, ასევე მაინინგის პროგრამებისა და რეგიონების მიხედვით განაწილება, რომელიც მაინერების გვერდზე ჩანს.

მოთხოვნა
curl "https://alephium.herominers.com/api/get_miners_stats"
პასუხი

ობიექტი, რომელშიც არის miners, agents, regions, regionHistory და statsDisplay. მისამართები დამალულია. როცა პანელი ჩართული არ არის, მისი მასივი ცარიელი ბრუნდება და statsDisplay ამას აჩვენებს.

GET /api/get_blocks_search_config

ჩართულია თუ არა ბლოკების ძებნა და რა საზღვრებში უნდა ჯდებოდეს მოთხოვნა, რათა საძიებო ველი პირველ ძებნამდე მოეწყოს.

მოთხოვნა
curl "https://alephium.herominers.com/api/get_blocks_search_config"
პასუხი

{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs }. სიგრძეები სიმბოლოებშია, ხოლო frontendCooldownMs არის ლოდინის დრო ორ ძებნას შორის.

GET /api/get_miner_payout_level

მისამართისთვის ამჟამად დაყენებული გადახდის ზღვარი, მთელ მონეტებში.

პარამეტრები
addressსავალდებულო
გადახდის მისამართი.

შესაბამისი /api/set_miner_payout_level მას ჩაწერს, და ის ყველასთვის ღია არ არის: მოთხოვნა უნდა მოდიოდეს მისამართის საკუთარი მაინინგის IP-დან. ეს შემოწმება და მის წინ მდგომი ლიმიტი აღწერილია დაფის პარამეტრების ჩანართზე და არა აქ.

მოთხოვნა
curl "https://alephium.herominers.com/api/get_miner_payout_level"

ამის გასაშვებად ზემოთ შეიყვანეთ address. ბრძანება მას აჩვენებს, რადგან მის გარეშე პული შეცდომით პასუხობს.

პასუხი

{ status: "done", level }. მისამართი, რომელსაც ის არასდროს დაუყენებია, პულის მინიმუმს იღებს.

GET /api/miner_ban_status

დაბლოკვის შეტყობინება, რომელსაც მაინერის გვერდი მისამართისთვის აჩვენებს, და ნებისმიერი შეტყობინება, რომელიც ოპერატორმა მისთვის დატოვა.

პარამეტრები
addressსავალდებულო
გადახდის მისამართი.
მოთხოვნა
curl "https://alephium.herominers.com/api/miner_ban_status"

ამის გასაშვებად ზემოთ შეიყვანეთ address. ბრძანება მას აჩვენებს, რადგან მის გარეშე პული შეცდომით პასუხობს.

პასუხი

{ banned, minerMessage }, ხოლო დაბლოკვისას ასევე blockMining, blockPayments და reason. ეს ის შეტყობინებაა, რომელსაც მაინერის გვერდი ამ მისამართისთვის აჩვენებს: დაბლოკილია მაინინგი, გადახდა, ან არცერთი. minerMessage არის ოპერატორის შეტყობინება ამ მისამართისთვის, ფორმით { message, type, createdAt, expiresAt }, ან null, როცა შეტყობინება არ არის.

სწორი გამოყენება

  • გამოკითხეთ პულის საკუთარი რიტმით. ციფრები სტატისტიკის ყოველ ციკლში ერთხელ გამოითვლება, და config.updateInterval /api/stats პასუხში აჩვენებს მის ხანგრძლივობას წამებში. უფრო ხშირი მოთხოვნა იმავე პასუხს აბრუნებს და ორივე მხარეს ტრაფიკი ეხარჯება.
  • სწრაფ ტაიმერს ამჯობინეთ /api/live_stats. ის პასუხობს, როგორც კი რამე ახალი ჩნდება, რაც თქვენთვისაც უფრო სწრაფია და პულისთვისაც უფრო მსუბუქი, ვიდრე გამოკითხვა.
  • თანხები სტრიქონებად შეინახეთ. ჯილდოები და ბალანსები მონეტის უმცირეს ერთეულში ბრუნდება. 18 ათწილადიან ჯაჭვზე ეს მთელი რიცხვები აღემატება იმას, რისი ზუსტად შენახვაც JavaScript რიცხვს შეუძლია, ამიტომ რიცხვად გარდაქმნა გადახდას ჩუმად ამრგვალებს.
  • გაითვალისწინეთ, რომ მისამართები დამალულია. საჯარო სიები ყოველი მისამართის შუა ნაწილს მალავს. თქვენი სრული მისამართი მხოლოდ თქვენ გჭირდებათ, და მხოლოდ იქ, სადაც თავად მიუთითებთ.
  • ლიმიტი ლოდინად აღიქვით და არა შეცდომად. სადაც ლიმიტი მოქმედებს, პასუხში არის retryMs. დაელოდეთ ამდენ ხანს და შემდეგ სცადეთ ხელახლა, ნაცვლად განუწყვეტელი მოთხოვნებისა.
  • მიუთითეთ, ვინ ხართ. User-Agent, რომელიც თქვენს ხელსაწყოს ასახელებს, სავალდებულო არ არის, მაგრამ ასე ცვლილების შესახებ შეგვიძლია გაცნობოთ, ნაცვლად იმისა, რომ გამოიცნოთ, რა გაფუჭდა.