icreator (OP)
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 23, 2013, 10:11:43 AM |
|
Привет подскажите пожалуйста как нап итоне сделать двойное число с плавающей точкой или почему ругается sendmany sends = {} for (k,v) in request.vars.iteritems(): v = float(v) sends[k] = v # converted to float res = conn.sendmany( sends )
выдает ошибку: {u'id': 1, u'result': None, u'error': {u'message': u'sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]\namounts are double-precision floating point numbers', u'code': -1}}
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
|
|
|
|
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
icreator (OP)
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 23, 2013, 10:26:46 AM |
|
о походу она ругается что адрес не указан а как его не указывать в питоне? None не принимает (( странно вот такая фигня с getbalance() = getbalance() - выдаст баланс всего кошелька А как задать минимальное число подтверждений и не указывать при этом аккаунт?
= getbalance(None, 3) - выдаст ошибку мол такого адреса нету блин как быть
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
icreator (OP)
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 24, 2013, 09:26:03 AM |
|
conn.settxfee(0.0001) main_acc = '.main.' bal = conn.getbalance(main_acc, xcurr.conf) # дает баланс 0.02 print bal, vol if bal < vol: for (k,v) in conn.listaccounts(xcurr.conf).iteritems(): if v == 0: continue conn.move(k, main_acc, float(v)) print k,v bal = conn.getbalance(main_acc, xcurr.conf) print 'NEW bal:', bal #res = conn.sendmany( main_acc, sends, xcurr.conf ) res = conn.sendmany( main_acc,{ '....VMsWBDjDLL5': 0.00200 }) log(res) дает ошибку u'Insufficient funds', u'code': -6 что за бред? понятно что команда MOVE только на баланс влияет но какого хрена тогда проверка в sendmany ?? помогите пожалуйста неужели придется самому рав-транзакцию собирать?
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 24, 2013, 09:57:59 AM |
|
дает ошибку u'Insufficient funds', u'code': -6
про sendfrom и аккаунты Аккаунт в кошельке - это неудачная попытка сделать функционал внутренних аккаунтов на кошельке, до сих пор ни в одном форке так и не исправленная. Аккаунт - это текстовая метка, которую вы устанавливаете адресу (можно нескольким адресам дать одну и ту же метку - они будут объедены в один аккаунт). Кошелек корректно учитывает баланс на этом аккаунте, когда вы используете rpc-запрос sendfrom или пополняете баланс аккаунта, переводя на один из его адресов монеты, но как только вы потратите монеты с общего аккаунта '' или воспользуетесь копией кошелька для отправки монет (т.е. информация будет принята кошельком по факту, без конкретизации, с какого аккаунта были сняты деньги), то тогда корректность учета баланса будет нарушена. Проблема в том что когда вы делаете sendfrom монеты могут быть физически истрачены с любых адресов в кошельке, даже из других аккаунтов, а баланс будет подправлен тот что указан, отсюда и расхождение. Совершенно нормально в результате получить отрицательные балансы по аккаунтам или вообще неверный их расчет. Я не рекомендовал бы пользоваться этим механизмом и он давно требует полной переделки.
|
|
|
|
icreator (OP)
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 24, 2013, 11:41:50 AM |
|
спасибо, я это знаю...
вопрос - как сделать так чтобы этот sendmany - не проверял баланс или где найти и как сделать чтобы для него баланс на каком-то "главном" аккаунте был достаточный??
командой move как видно это не получается сделать - остальные команды будут жрать комиссию и ждать подтверждения из сети (( вот же бред то ((
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 24, 2013, 03:08:24 PM |
|
Средствами кошельке пытаться исправить этот баг - бессмысленно, либо править код либо забыть этот инструментарий как страшный сон. Ставьте abe и работайте с sql-базой транзакций, удобно и без проблем.
Либо если адреса все ваши (на прием), сохраняйте в своей базе табличку с полями: * адрес_bitcoin * приватный_ключ (на случай, если адреса генерируются с помощью Vanitygen, тогда не нужно будет их импортировать в кошелек и генерировать транзакции иными методами, например подключив библиотеку от electrum или libbitcoin) * номер_блока_bitcoin_создания_адреса (определяет время, когда был сгенерирован адрес) * номер_блока_bitcoin_последнего_обновления (определяет время, когда информация из базы blockchain была обновлена для этого адреса) * идентификатор_клиента * итоговый_баланс * список_транзакций (для отладки можно хранить в виде сериализованного списка, или если позволяет движок базы, например postgres или некоторые nosql, в виде нативного списка) И самостоятельно на каждый найденный блок сканируйте транзакции (это каких то 4-5 строчек кода на callback нового блока) обновляйте базу. Рекомендую обновлять только для блоков с номером меньше чем текущий (например 6 как рекомендуется для bitcoin), тогда не придется изобретать сложного кода для анализа еще орфанов и даблспенд атак (вообще то придется, но это отложит проблему на потом, когда сервис станет серьезным)
|
|
|
|
icreator (OP)
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 25, 2013, 05:48:08 AM |
|
спасибо за инфо
но все она о том как учесть входы крипты
а у меня вопрос как сделать разовый перевод на много адресов
ответ есть?
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 25, 2013, 07:29:56 PM |
|
Не понимаю проблемы, у меня отлично работает sendmany (а комиссию можно установить в настройках или settxfee). Не использую обертки, у меня обычно 1 метод для работы с кошельком и сериализованные объекты (в php просто объект json_decode выдает) этого более чем достаточно, только ошибки ловить и все будет норм.
|
|
|
|
icreator (OP)
Legendary
Offline
Activity: 1554
Merit: 1008
|
|
December 26, 2013, 12:21:09 PM |
|
Не понимаю проблемы, у меня отлично работает sendmany (а комиссию можно установить в настройках или settxfee). Не использую обертки, у меня обычно 1 метод для работы с кошельком и сериализованные объекты (в php просто объект json_decode выдает) этого более чем достаточно, только ошибки ловить и все будет норм.
проблема в том что аккаунт с которого я шлю имеет минусовой баланс! не н у можно конечно все монеты самому себе перевести.... чтобы баланс аккаунта поправить но это тоже както не правильно
|
Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions. +Decentralized exchange of tokens in Erachain
|
|
|
|