Author

Topic: отправка эфира на смартконтракт (Read 374 times)

jr. member
Activity: 34
Merit: 3
за подробный ответ спасибо. а по поводу переводов в разных токенах - как можно их отличать, обрабатывать, выводить с контракта?

посмотрите опубликованный контракт с исходниками, очень поучительно, там все есть https://etherscan.io/address/0x34f762de7be95e4dbd6d9188554979444637c636#code
full member
Activity: 313
Merit: 103
за подробный ответ спасибо. а по поводу переводов в разных токенах - как можно их отличать, обрабатывать, выводить с контракта?
sr. member
Activity: 613
Merit: 256
подниму тему.
Похоже, что для контрактов, на которые можно отправлять валюту, обязательно присутствие функции с модификатором payable. (перехват входящих маней). Может у кого есть идеи или примеры, как в этой функции отличать, что за токены пришли, и как потом (желательно потом, а не сразу) отсылать накопленные на контракте токены и эфир в желаемом направлении?
Я вижу 2 варианта как это можно реализовать.
1-Вариант, это когда уже после нескольких оплат будет накапливаться нужная для вывода сумма, это каждый раз при получении токенов смотреть не накопилась ли уже сумма достаточная для вывода и если да то совершать транзакцию.
2-Вариант, это когда нужная сумма будет накапливаться медленно или выводить ее надо очень редко, это надо сделать следующее:
1. В конструкторе смарт контракта надо сохранить адрес владельца контракта.
2. Создать функцию которая будет совершать транзакцию всей суммы или той суммы которая приходит как параметр, в этой функции должна быть встроена проверка что вызвать ее может только владелец контракта.
3. Вызывать функцию когда понадобится вывести средства.
full member
Activity: 313
Merit: 103
подниму тему.
Похоже, что для контрактов, на которые можно отправлять валюту, обязательно присутствие функции с модификатором payable. (перехват входящих маней). Может у кого есть идеи или примеры, как в этой функции отличать, что за токены пришли, и как потом (желательно потом, а не сразу) отсылать накопленные на контракте токены и эфир в желаемом направлении?
full member
Activity: 313
Merit: 103
Залил контракт (систему контрактов) в девелоперский блокчейн. Теперь пытаюсь передать на управляющий контракт немного эфира с основного аккаунта, но получаю сообщение о том, что похоже, что транзакция не будет исполнена по причине того, что контракт для этого не предназначен (The contract won't allow this transaction to be executed). 

Это как получается, для перевода денег на контракт он должен быть каким-то особенным? Т.е. не на каждый контракт можно перевести эфир?

Подскажите, пожалуйста, кто знает.
Jump to: