Size: a a a

2021 December 03

I

IceCream time 🍧🍧🍧... in Ethereum Russia
Привет.  Подписываю сообщение через ethers.js и удается восстановить корректный адрес.
Но проблема в коде solidity.  При выделении адреса (кто подписал) из подписи- получается совсем другой адрес..
address signedBy = _msgForSign.recover(_signature);
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
_msgForSign - это я передаю messageHash
_signature - signedMessage
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
используею опензепелин библиотеку..
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
может кто подскажет..
источник

AK

Alena Kuznetsova in Ethereum Russia
Привет. Какие практические задачи можно порешать, чтобы джуну познакомится с программированием для смартконтрактов блокчейна? Благодарю
источник

MD

Microwave Dev in Ethereum Russia
можешь для начала написать телеграм бота или веб страничку для покупки токенов на юнисвап за ETH
источник

MD

Microwave Dev in Ethereum Russia
пощупать смарт контракты снаружи, а потом можно смарт контракт написать для вестинга токенов например, и его из тг бота или веб странички дёргать
источник

СК

Саша Капин in Ethereum Russia
привет. как opensea видит нфт пользователя? Нужно же обращаться к смарт контрактам, чтобы запрашивать нфт пользователя. Так как чтоли ко всем смарт контрактам обращается?
источник

AK

Alena Kuznetsova in Ethereum Russia
Это реальные задачи с которыми сталкиваются? Ок, буду гуглить/ разбираться что это такое.
источник

MD

Microwave Dev in Ethereum Russia
да, часто нужно работать со смартами юнисвапа и с вестингом. можешь у меня в блоге блокчейн тред почитать чтобы понять как их обычно используют
источник

DC

Dillian Cut in Ethereum Russia
Всем привет, мне нужен solidity разработчик
источник

SB

Sam Becket in Ethereum Russia
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
как в js  или через ethers.js строку превратить в bytes?
источник

A

Alien Deployer in Ethereum Russia
если в bytes32, то можно ethers.utils.id(utf8String)
в документации - // Convert the string to binary data
у тебя вроде так и написано выше)
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
а если в контракте делать bytes('123') то это не равно ethers.utils.id('123) ..
источник

A

Alien Deployer in Ethereum Russia
из исходников ethers:
import { keccak256 } from "@ethersproject/keccak256";
import { toUtf8Bytes } from "@ethersproject/strings";

export function id(text: string): string {
   return keccak256(toUtf8Bytes(text));
}
источник

EG

Egor Gavrilov in Ethereum Russia
id это хэширование)
просто в шестнадцатиричную систему перевести – toUtf8Bytes
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
address signer = keccak256(abi.encode(_msgForSign))
       .toEthSignedMessageHash()
       .recover(_signature);

а _msgForSign - это bytes32
источник

I

IceCream time 🍧🍧🍧... in Ethereum Russia
А я подписываю стрингу, пропущенную через utils.id.. и оно не сходится
источник

EG

Egor Gavrilov in Ethereum Russia
завидую тебе в том что совет нашелся быстро) я когда с этим мучился, промучился весь день

а совет вот какой

1) encode/encodePacked должен быть синхронный на бч/клиенте

2) подписывай arrayify от хэша а не хэш
источник