Нараян Прасти



Download 9,22 Mb.
Pdf ko'rish
bet40/47
Sana26.02.2022
Hajmi9,22 Mb.
#472912
1   ...   36   37   38   39   40   41   42   43   ...   47
Bog'liq
Прасти Н. - Блокчейн. Разработка приложений - 2018


Глава 4 
____________________________________ 
[ 100 ] 
___________________________________ 
Приведем простой пример: 
//синхронный запрос 
try 

console.log(web3.eth.getBlock(48)); 

catch(e) 

console.log(e); 

//асинхронный запрос 
web3.eth.getBlock(48, function(error, result){ 
if(!error) 
console.log(result) 
else 
console.error(error); 
}) 
Метод 
getBlock()
возвращает информацию о блоке по его порядковому номеру или 
хешу. Также можно вместо номера использовать ключевые слова 
earliest
(генезис-
ный блок), 
latest
(последний добавленный блок) или 
pending
(блок в майнинге). 
Если вы опускаете аргумент, по умолчанию запрашивается 
web3.eth.defaultBlock

которому соответствует псевдоним 
latest

Все API, которые нуждаются в идентификации блока, могут принимать в качестве 
входного аргумента число, хеш или строку. Если аргумент отсутствует, все эти API 
по умолчанию используют 
web3.eth.defaultBlock

Библиотека BigNumber.js 
Язык JavaScript изначально плохо работает с большими числами. Поэтому при- 
ложения, которым приходится иметь дело с большими числами и делать точные 
вычисления, используют библиотеку BigNumber.js. 
Пакет web3.js тоже зависит от BigNumber.js (эта библиотека добавляется автомати-
чески). web3.js всегда возвращает объект типа 
BigNumber
для числовых значений. Он 
может принимать числа JavaScript, строковые представления чисел и экземпляры 
BigNumber
в качестве входного параметра. 
Вот пример, который это демонстрирует: 
web3.eth.getBalance("0x27E829fB34d14f3384646F938165dfcD30cFfB7c").toString(); 
Здесь мы используем метод 
web3.eth.getBalance()
, чтобы получить баланс указан-
ного адреса (счета) Ethereum. Этот метод возвращает объект типа 
BigNumber
. Мы 
должны вызвать метод 
toString()
объекта 
BigNumber
, чтобы конвертировать его
в строковое представление числа. 


Учимся работать с web3.js 
____________________________________ 
[ 101 ] 
___________________________________ 
Библиотека BigNumber.js не может обрабатывать числа, у которых более 20 знаков 
после запятой, поэтому рекомендуется хранить баланс в единицах Wei, а для
отображения конвертировать в другие единицы. По умолчанию web3.js всегда воз-
вращает и получает баланс в Wei. Например, метод 
getBalance()
возвратит баланс 
счета в Wei. 
Конвертация денежных единиц 
web3.js предоставляет возможность конвертировать Wei в другие номиналы эфира 
и, наоборот, любой другой номинал эфира конвертировать в Wei. 
Метод 
web3.fromWei()
предназначен для конвертации суммы, номинированной в Wei 
в другой номинал, а метод 
web3.toWei()
выполняет обратную операцию. Вот два 
примера, которые демонстрируют конвертацию: 
web3.fromWei("1000000000000000000", "ether"); 
web3.toWei("0.000000000000000001", "ether"); 
В первой строке мы конвертируем Wei в Ether (один эфир), а во второй строке кон-
вертируем Ether в Wei. Второй аргумент в обоих методах может быть одной из сле-
дующих строк: 
kwei/ada

mwei/babbage

gwei/shannon

szabo

finney

ether

kether/grand/einstein

mether

gether

tether

Запрос цены газа, баланса и деталей транзакции 
Теперь давайте рассмотрим API, применяемые для запроса цены газа, баланса на 
счете и информации о транзакции (квитанции): 
//Это синхронный запрос. 
//Для асинхронного запроса используйте getGasPrice 
console.log(web3.eth.gasPrice.toString()); 
console.log(web3.eth.getBalance("0x407d73d8a49eeb85d32cf465507dd71d507100c1", 
45).toString()); 
console.log(web3.eth.getTransactionReceipt("0x9fc76417374aa880d4449a1f7f31ec597f00b
1f6f3dd2d66f4c9c6c445836d8b")); 
Возвращаемая этим запросом информация имеет следующий вид: 
20000000000 
30000000000 


Download 9,22 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   47




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish