Size: a a a

2020 November 26

N

Nikita in Ethereum Russia
Я знаю, расскажу за 100$
источник

RM

Ruslan Mirov in Ethereum Russia
Nikita
Я знаю, расскажу за 100$
😂😂😂 это классика.
источник

B

Buckethead in Ethereum Russia
добрый вечер. подскажите, пожалуйста, можно ли безопасно принимать платежи ERC-20 токенов, если у них используется метод sendMultiSigToken(address toAddress, uint256 value, address tokenContractAddress, uint256 expireTime, uint256 sequenceId, bytes signature), а не transfer?
как понимать, что значит expireTime, sequenceId ?
источник

RM

Ruslan Mirov in Ethereum Russia
sendMultiSigToken это не стандард ERC20

Если в коде контракт токена, есть метод transfer и в этом методе нет никаких экзотических условий, типа пауз, таймингов и т.д. то можно безопасно использовать transfer для приема платежей.

Скиньте ссылку на код токена.
источник

B

Buckethead in Ethereum Russia
Ruslan Mirov
sendMultiSigToken это не стандард ERC20

Если в коде контракт токена, есть метод transfer и в этом методе нет никаких экзотических условий, типа пауз, таймингов и т.д. то можно безопасно использовать transfer для приема платежей.

Скиньте ссылку на код токена.
смотрите, суть в том, что платежи приходят часто из разных контрактов. каждый раз проводить их аудит невозможно. но и мониторить несколько сотен дочерних адресов невозможно на предмет зачислений (мониторя сам баланс)
источник

B

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

B

Buckethead in Ethereum Russia
Ruslan Mirov
sendMultiSigToken это не стандард ERC20

Если в коде контракт токена, есть метод transfer и в этом методе нет никаких экзотических условий, типа пауз, таймингов и т.д. то можно безопасно использовать transfer для приема платежей.

Скиньте ссылку на код токена.
я правильно понимаю, что мне нужно вводить какой-то whitelist контрактов, которым я доверяю? т.к. никогда наверняка нельзя сказать, что средства были перечислены, судя только по данным, полученным по хешу транзакции от ноды?
источник

RM

Ruslan Mirov in Ethereum Russia
Buckethead
смотрите, суть в том, что платежи приходят часто из разных контрактов. каждый раз проводить их аудит невозможно. но и мониторить несколько сотен дочерних адресов невозможно на предмет зачислений (мониторя сам баланс)
Мы такую проблему решили просто с помощью функции депозит.

То-есть контракт или пользователь не отправляет токены напрямую, а делает approve и вызывает функцию депозит.

А функция депозит делает transferFrom и внутри функции пишет откуда и сколько пришло.
источник

B

Buckethead in Ethereum Russia
а если ситуация, что это обычная отправка из биржи. и эта биржа использует такой контракт? я просто не могу повлиять на то, что делает пользователь
источник

B

Buckethead in Ethereum Russia
Ruslan Mirov
Мы такую проблему решили просто с помощью функции депозит.

То-есть контракт или пользователь не отправляет токены напрямую, а делает approve и вызывает функцию депозит.

А функция депозит делает transferFrom и внутри функции пишет откуда и сколько пришло.
я ведь правильно понял, что речь идёт о том, что бы пользователь, который отправляет мне токены - должен по особому их отправить?
источник

RM

Ruslan Mirov in Ethereum Russia
Buckethead
я ведь правильно понял, что речь идёт о том, что бы пользователь, который отправляет мне токены - должен по особому их отправить?
На фронтенде это можно просто обернуть в batch transaction.

Кнопка депозит

По нажатию кнопки

1 tx approve
2 tx deposit

Для обычных ERC20 токенов других способов отследить я не знаю.
источник

B

Buckethead in Ethereum Russia
Ruslan Mirov
sendMultiSigToken это не стандард ERC20

Если в коде контракт токена, есть метод transfer и в этом методе нет никаких экзотических условий, типа пауз, таймингов и т.д. то можно безопасно использовать transfer для приема платежей.

Скиньте ссылку на код токена.
вот контракт, который чаще всего задействован - 0x5d6c182fe79640e1866a74458c5d800d3c58cee2
источник

B

Buckethead in Ethereum Russia
Buckethead
вот контракт, который чаще всего задействован - 0x5d6c182fe79640e1866a74458c5d800d3c58cee2
сможете оценить, насколько он надёжен?
источник

RM

Ruslan Mirov in Ethereum Russia
Buckethead
вот контракт, который чаще всего задействован - 0x5d6c182fe79640e1866a74458c5d800d3c58cee2
Ок позже гляну.

Кстати вы можете отслеживать зачисления также офчейн по событиям.
источник

B

Buckethead in Ethereum Russia
подскажите, а что значит офчейн?
источник

B

Buckethead in Ethereum Russia
internal transactions?
источник

RM

Ruslan Mirov in Ethereum Russia
Buckethead
подскажите, а что значит офчейн?
С помощью сервера можно подписаться на события контракта, и как только какое-нибудь событие произошло, например контракт получил определенные токены сервер реагирует.
источник

B

Buckethead in Ethereum Russia
понял, через сокеты на web3.js видимо. а если подписываться на оригинальный USDT, то отреагирует даже если через мультисиг зачисление?
источник

RM

Ruslan Mirov in Ethereum Russia
Ruslan Mirov
С помощью сервера можно подписаться на события контракта, и как только какое-нибудь событие произошло, например контракт получил определенные токены сервер реагирует.
Правда события в Эфириум не особо надежная штука для обновления в реальном времени, иногда они пропускаются.

Потому нужно дополнительно перепроверять (возвращаться на несколько блоков назад) или слушать события с нескольких нод одновременно.
источник

RM

Ruslan Mirov in Ethereum Russia
Buckethead
понял, через сокеты на web3.js видимо. а если подписываться на оригинальный USDT, то отреагирует даже если через мультисиг зачисление?
Да, подписаться на событие transfer для определенного адреса.
источник