Bitcoin Forum
November 11, 2024, 05:16:20 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Об одной неотосланной транзации  (Read 3212 times)
Alda Gordaya (OP)
Member
**
Offline Offline

Activity: 61
Merit: 10



View Profile
July 02, 2011, 11:39:24 AM
 #1

Клиент bitcoin запускался, но еще не докачал блоки или соединения не установил с пирами.
В это время была создана транзакция.

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

Как эту транзакцию убить, чтобы она не попала в сеть?
LZ
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


View Profile
July 02, 2011, 12:15:30 PM
 #2

Если действительно нужно предотвратить отправку перевода - обратитесь к m0Ray.

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
Dobrodav
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250



View Profile
July 03, 2011, 12:49:47 AM
 #3

А как же  флаг  -rescan, не поможет разве ?

Lis
Sr. Member
****
Offline Offline

Activity: 293
Merit: 251


Spice must flow!


View Profile
July 03, 2011, 04:55:07 PM
 #4

Клиент bitcoin запускался, но еще не докачал блоки или соединения не установил с пирами.
В это время была создана транзакция.

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

Как эту транзакцию убить, чтобы она не попала в сеть?

если еще актуально, в понедельник могу выложить исходник на python удаляющий не нужные транзакции из wallet.dat

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
LZ
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


View Profile
July 04, 2011, 04:01:51 PM
Last edit: September 26, 2011, 05:04:30 AM by lzsaver
 #5

если еще актуально, в понедельник могу выложить исходник на python удаляющий не нужные транзакции
Было бы здорово. Cheesy

А как же  флаг  -rescan, не поможет разве ?
Так как -purgetx m0Ray'я, на сколько знаю, не включен в основную ветку и не вызывается при опции -rescan,
то биткоин пересканирует блоки и отправит перевод, что в данном случае нужно наоборот предотвратить. Undecided

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
Lis
Sr. Member
****
Offline Offline

Activity: 293
Merit: 251


Spice must flow!


View Profile
July 05, 2011, 03:04:54 PM
Last edit: October 05, 2011, 10:54:54 AM by Lis
 #6

Code:
#!/usr/bin/env python

#Python 2.6.6
#[GCC 4.4.5] on linux2


from optparse import OptionParser
import bsddb.db

parser = OptionParser(version='Lis@20110605')
parser.add_option('-t', '--tx',    dest='tx',                                       help='remove tx')
parser.add_option('-s', '--show',  dest='show', default=False, action='store_true', help='print all tx')
parser.add_option('-d', '--dir',   dest='dir',   default='.bitcoin',                help='dir of wallet')
parser.add_option('-f', '--file',  dest='file',  default='wallet.dat',              help='name file wallet')
(options, args) = parser.parse_args()

_DIR_ = options.dir
_FILE_ = options.file
_SHOW_ = options.show
_TX_ = options.tx

if _TX_ and len(_TX_) != 64:
  exit('error: wrong tx flag')
 
if not _TX_:
  _SHOW_ = True

if _TX_:
  writable=True
else:
  writable=False

def revers(data):
  date_revers = ''
  for i in range(-1, -len(data), -2):
    date_revers += data[i-1] + data[i]
  return date_revers

try:
  db_env = bsddb.db.DBEnv(0)
  db_dir = _DIR_
  r = db_env.open(db_dir, (bsddb.db.DB_CREATE|bsddb.db.DB_INIT_LOCK|bsddb.db.DB_INIT_LOG|bsddb.db.DB_INIT_MPOOL|bsddb.db.DB_INIT_TXN|bsddb.db.DB_THREAD|bsddb.db.DB_RECOVER))
  db = bsddb.db.DB(db_env)
  flags = bsddb.db.DB_THREAD | (bsddb.db.DB_CREATE if writable else bsddb.db.DB_RDONLY)
  r = db.open(_FILE_, "main", bsddb.db.DB_BTREE, flags)
except:
  exit ('error: can not find file')

try:
  if _TX_:
    del_key = '027478' + revers(_TX_)
    db.delete(del_key.decode('hex'))
    db.sync()
except:
  exit ('error: can not find tx')

if _SHOW_:
  data = db.items()
  for i in range(len(data)):
    if ord(data[i][0][0]) == 2 and data[i][0][1:ord(data[i][0][0])+1] == 'tx':
      print i, 'http://blockexplorer.com/tx/' + revers(data[i][0][3:].encode('hex'))
     
db.close()

example:
# показать
./rm_tx.py -d /home/lis/.bitcoin -f wallet.dat -s
# удалить
./rm_tx.py -d /home/lis/.bitcoin -f wallet.dat -t abe3c7b00dc0101d004502b080007d5e9a009b390a00b76e000420fd272a23f9

если у кого есть винда затестируйте плз.

ВНИМАНИЕ!!!
ВЫ ИСПОЛЬЗУЕТЕ ПЛАГИН НА СВОЙ СТРАХ И РИСК, ДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ КОШЕЛЬКА ПЕРЕД ПРОВЕДЕНИЕМ ЭКСПЕРИМЕНТОВ НАД НИМ!!!

Код общественное достояние.

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
mich
Legendary
*
Offline Offline

Activity: 3318
Merit: 1034


#1 VIP Crypto Casino


View Profile
July 08, 2011, 07:51:01 AM
 #7

Спасибо, получилось удалить одну левую транзакцию.

█████████████████████████
███████████▄█████████████
██████▀░▀█▀░▀█▀░▀████████
███████▄███▄███▄█████████
████▀██▀██▀░▀████▀░▀█████
███████████░███▀██▄██████
████▀██▀██░░░█░░░████████
███████████░███▄█▀░▀█████
████▀██▀██▄░▄███▄░░░▄████
███████▀███▀███▀██▄██████
██████▄░▄█▄░▄█▄░▄████████
███████████▀█████████████
█████████████████████████
 
.Bitcasino.io.
 
.BTC  ✦  Where winners play  BTC.
.
..
.
    ..





████
████
░░▄████▄████████████▄███▄▄
░███████▄██▄▄▄▄▄▄█████████▄
███████████████████████████
▀████████████████████████▀
░░▀▀████████████████████
██████████████████▄█████████
██
▐███████▀███████▀██▄██████
███████▄██▄█▀████▀████████
░░██████▀▀▀▄▄▄████▀▀████
██▐██████████▀███▀█████████████    ████
███
████████████
███████████████    ████
█████▀████████████████▀
███████▀▀▀█████████▀▀
..
....
 
 ..✦ Play now... 
.
..
ne0n
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
July 11, 2011, 12:46:19 PM
 #8

А можно отменить отосланную, но еще не подтвержденную транзакцию и вернуть деньги?
[Thor]
Member
**
Offline Offline

Activity: 84
Merit: 10


Supreme Commander of the Asgard Fleet


View Profile
July 11, 2011, 01:09:31 PM
 #9

Нет, она уже расползлась по сети.

rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
July 11, 2011, 01:10:19 PM
 #10

А можно отменить отосланную, но еще не подтвержденную транзакцию и вернуть деньги?
Кажется невозможно, но обладая мощностями, сравнимыми с больше чем половина мощности всей сети продолжительное время, можно сначала сказать что ваша транзакция (изначально ошибочная) валидная - тем самым у клиентов будет расти количество у этой транзакции как у обычной..

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
ne0n
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
July 11, 2011, 02:51:51 PM
 #11

Нет, она уже расползлась по сети.

В том то и дело что она еще дальше моего компьютера не ушла, вроде  Smiley Я не включал приложение и у транзакции до сих пор 0 подтверждений  Undecided
Vort
Newbie
*
Offline Offline

Activity: 79
Merit: 0



View Profile
July 11, 2011, 02:57:33 PM
 #12

Нет, она уже расползлась по сети.
можно отправить ещё раз, с бОльшей комиссией
хотя, это, наверно, всё же не тот случай
Lis
Sr. Member
****
Offline Offline

Activity: 293
Merit: 251


Spice must flow!


View Profile
July 12, 2011, 07:40:27 AM
 #13

В том то и дело что она еще дальше моего компьютера не ушла, вроде  Smiley Я не включал приложение и у транзакции до сих пор 0 подтверждений  Undecided
если этой транзакции до сих пор нет в BBE можешь смело удалять.

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
ArsenShnurkov
Legendary
*
Offline Offline

Activity: 1386
Merit: 1000



View Profile
October 22, 2011, 05:15:32 AM
 #14

если у кого есть винда затестируйте плз

Windows 7 x64, cygwin

работает отлично!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!