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
|
|
|
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
|
|
|
|