Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSON-RPC support for mobile devices ("ultra-lightweight" clients) #1

Closed
gavinandresen opened this issue Dec 19, 2010 · 3 comments

Comments

Projects
None yet
4 participants
@gavinandresen
Copy link
Contributor

commented Dec 19, 2010

The idea is to enable mobile or other not-always-connected-to-the-network clients, where the wallet is kept (encrypted, probably) on the mobile device, and the device periodically communicates with a bitcoin-network-connected node to:

  • Update balance for keys in its wallet
  • Submit signed transactions to the network
@rasos

This comment has been minimized.

Copy link

commented Feb 7, 2011

Yes, very important. If we enable mobile devices, pocket wallets will be soon obsolete ;-) GUI for smart-phones should include some QR reader, such as portapayment.com

@thiloplanz

This comment has been minimized.

Copy link

commented Apr 7, 2011

"Submit signed transactions to the network"

I want that as well, for Google App Engine, where you cannot participate in the regular peer-to-peer protocol, because you cannot open sockets. Having something like an XMPP proxy that pushes signed transactions into the peer network would be cool. Maybe the existing IRC channel can also be used for that.

mhanne pushed a commit to mhanne/bitcoin that referenced this issue Jul 20, 2011

@Stemby

This comment has been minimized.

Copy link

commented Sep 15, 2011

I offer 1 BTC bounty.

Regards,
Carlo

@luke-jr luke-jr referenced this issue Apr 28, 2012

Closed

Addrman crash #1156

@luke-jr luke-jr referenced this issue Dec 20, 2012

Merged

importaddress #2117

IceBurst added a commit to crypto-swc/switch that referenced this issue Nov 21, 2017

Premine
Premine coins (50m) on Block bitcoin#1

laanwj added a commit that referenced this issue Nov 30, 2017

Merge #11783: Fix shutdown in case of errors during initialization
d31e5c1 Fix shutdown in case of errors during initialization (Wladimir J. van der Laan)

Pull request description:

  PR #10286 introduced a few steps which are not robust to early shutdown in initialization.

  Stumbled upon this with #11781, not sure if there are other scenarios that can trigger it, but it's good to harden against this in any case.

  E.g.
  ```
  $ src/bitcoind  -debuglogfile=/dfdf
  Error: Could not open debug log file /dfdf
  Program received signal SIGSEGV, Segmentation fault.
  UnregisterValidationInterface (pwalletIn=0x0) at /.../bitcoin/src/validationinterface.cpp:82
  82          g_signals.m_internals->BlockChecked.disconnect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2));
  (gdb) bt
  #0  UnregisterValidationInterface (pwalletIn=0x0) at /.../bitcoin/src/validationinterface.cpp:82
  #1  0x00005555555a11fc in Shutdown () at /.../bitcoin/src/init.cpp:196
  #2  0x00005555555961cc in AppInit (argc=<optimized out>, argv=<optimized out>) at /.../bitcoin/src/bitcoind.cpp:183
  #3  0x0000555555596249 in main (argc=0, argv=0x555555ecf200) at /.../bitcoin/src/bitcoind.cpp:19
  ```

Tree-SHA512: 7dd9570a9803514a17781bfadf1edde47e96df4e852cce2f423cab422e005fb94d44e777af1a6ea5167b04a4d889e848ae7a61a7e0e94232247ddea32ee70fc8

nining pushed a commit to nining/bitcoin that referenced this issue Jan 3, 2018

Merge pull request bitcoin#1 from h4x3rotab/master
Merge Bitcoin Core branch "0.15"

nining pushed a commit to nining/bitcoin that referenced this issue Jan 3, 2018

nining pushed a commit to nining/bitcoin that referenced this issue Jan 3, 2018

hortonelectric pushed a commit to crypto-swc/switch that referenced this issue Jan 4, 2018

Premine
Premine coins (50m) on Block bitcoin#1

DaElf referenced this issue in DaElf/bitcoin Jan 10, 2018

PPCoin: Move declaration and initialization of strMintMessage inside …
…BitcoinMiner().

This fixes an assertion failure crash when starting ppcoin-qt. The assertion
failure is caused by a static call to the _() function. The issue is fixed by
making strMintMessage a non-static local variable inside BitcoinMiner().

Assertion failure message (from Sunny):

ppcoin-qt: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr<T>::reference boost::shared_ptr<T>::operator*() const [ with T = <snip> ]: Assertion `px != 0' failed.

Backtrace of the crash:

 #0  0x0000003565435309 in raise () from /lib64/libc.so.6
 #1  0x0000003565436668 in abort () from /lib64/libc.so.6
 bitcoin#2  0x000000356542e476 in __assert_fail_base () from /lib64/libc.so.6
 bitcoin#3  0x000000356542e522 in __assert_fail () from /lib64/libc.so.6
 bitcoin#4  0x0000000000475dbe in operator* (this=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:646
 bitcoin#5  operator() (arg1=0x649fd8 "Info: Minting suspended due to locked wallet.", this=<optimized out>) at /usr/include/boost/signals2/detail/signal_template.hpp:695
 bitcoin#6  _ (psz=psz@entry=0x649fd8 "Info: Minting suspended due to locked wallet.") at src/ui_interface.h:106
 bitcoin#7  0x000000000049f5f7 in __static_initialization_and_destruction_0 (__initialize_p=__initialize_p@entry=1, __priority=__priority@entry=65535) at src/main.cpp:3345
 bitcoin#8  0x00000000004af11a in _GLOBAL__sub_I_cs_setpwalletRegistered () at src/main.cpp:5303
 bitcoin#9  0x0000000000620d0d in __libc_csu_init ()
 bitcoin#10 0x0000003565421aa5 in __libc_start_main () from /lib64/libc.so.6
 bitcoin#11 0x000000000042b9f8 in _start ()

HashUnlimited referenced this issue in chaincoin/chaincoin Mar 9, 2018

Squashed 'src/leveldb/' changes from 196962ff0..c521b3ac6
c521b3ac6 Merge #11: fixup define checks. Cleans up some oopses from #5.
8b1cd3753 fixup define checks. Cleans up some oopses from #5.
6b1508d6d Merge #6: Fixes typo
fceb80542 Merge #10: Clean up compile-time warnings (gcc 7.1)
0ec2a343f Clean up compile-time warnings (gcc 7.1)
d4c268a35 Merge #5: Move helper functions out of sse4.2 object
8d4eb0847 Add HasAcceleratedCRC32C to port_win.h
77cfbfd25 crc32: move helper functions out of port_posix_sse.cc
4c1e9e016 silence compiler warnings about uninitialized variables
495316485 Merge #2: Prefer std::atomic over MemoryBarrier
2953978ef Fixes typo
f134284a1 Merge #1: Merge upstream LevelDB 1.20
ba8a445fd Prefer std::atomic over MemoryBarrier

git-subtree-dir: src/leveldb
git-subtree-split: c521b3ac654cfbe009c575eacf7e5a6e189bb5bb

fruit37 added a commit to fruit37/bitcoin that referenced this issue Jul 1, 2018

Merge pull request bitcoin#1 from fruit37/ankr
adding the missing file

MarcoFalke added a commit that referenced this issue Jul 30, 2018

Merge #13806: qa: Fix bench/block_assemble assert failure
6f53edb Acquire cs_main before ATMP call in block_assemble bench (James O'Beirne)

Pull request description:

  Calling `bench_bitcoin` currently fails due to calling ATMP without acquiring cs_main first in the recently added block_assemble bench (#13219).

  ```
  $ cat <(uname -a) <(gcc --version)

  Linux james 4.4.0-119-generic #143+jamesob SMP Mon Apr 16 21:47:24 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
  gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

  $ ./src/bench/bench_bitcoin

  WARNING: This is a debug build - may result in slower benchmarks.
  # Benchmark, evals, iterations, total, min, max, median
  Assertion failed: lock cs_main not held in validation.cpp:566; locks held:
  [1]    19323 abort (core dumped)  ./src/bench/bench_bitcoin
  ```

  ```
  (gdb) bt
  #0  0x00007fbdc9cf5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
  #1  0x00007fbdc9cf702a in __GI_abort () at abort.c:89
  #2  0x0000555a19580dc5 in AssertLockHeldInternal (pszName=pszName@entry=0x555a19834549 "cs_main",
      pszFile=pszFile@entry=0x555a1988a001 "validation.cpp", nLine=nLine@entry=566, cs=cs@entry=0x555a19ba55c0 <cs_main>) at sync.cpp:157
  #3  0x0000555a194b395f in AcceptToMemoryPoolWorker (chainparams=..., pool=..., state=...,
      ptx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=1532964079,
      plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=@0x7ffcbc1719d8: 0, coins_to_uncache=std::vector of length 0, capacity 0,
      test_accept=false) at validation.cpp:566
  #4  0x0000555a194ba661 in AcceptToMemoryPoolWithTime (chainparams=..., pool=..., state=...,
      tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=<optimized out>,
      plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=0, test_accept=false) at validation.cpp:998
  #5  0x0000555a194ba7ce in AcceptToMemoryPool (pool=..., state=..., tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0,
      pfMissingInputs=pfMissingInputs@entry=0x0, plTxnReplaced=plTxnReplaced@entry=0x0, bypass_limits=bypass_limits@entry=false, nAbsurdFee=0,
      test_accept=false) at validation.cpp:1014
  #6  0x0000555a19363fbe in AssembleBlock (state=...) at bench/block_assemble.cpp:102
  #7  0x0000555a193654d3 in std::_Function_handler<void (benchmark::State&), void (*)(benchmark::State&)>::_M_invoke(std::_Any_data const&, benchmark::State&) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1871
  #8  0x0000555a193501d7 in std::function<void (benchmark::State&)>::operator()(benchmark::State&) const (this=this@entry=0x555a1ba2cda0,
      __args#0=...) at /usr/include/c++/5/functional:2267
  #9  0x0000555a1934ec4c in benchmark::BenchRunner::RunAll (printer=..., num_evals=5, scaling=<optimized out>, filter=..., is_list_only=false)
      at bench/bench.cpp:121
  #10 0x0000555a1934ade9 in main (argc=<optimized out>, argv=<optimized out>) at bench/bench_bitcoin.cpp:92
  ```

Tree-SHA512: fdd7b28ff123ccea7a4f334d53f735d0c0f94aa9cc52520c2dd34dca45d78c691af64efcd32366fc472fedffbd79591d2be2bb3bfc4a5186e8712b6b452d64e3

hashtobewild referenced this issue in genesisofficial/genesis Aug 26, 2018

laanwj added a commit that referenced this issue Sep 17, 2018

Merge #13578: [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid d…
…eprecated zeromq api functions

f1bd03e [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api functions (mruddy)

Pull request description:

  Upgrade the ZeroMQ dependency from version 4.2.3 to the latest stable version 4.2.5.

  This PR Follows the lead of #11986.

  I upgraded both patch files to correspond to the version `4.2.5` libzmq files.
  I assume doing so is still necessary and correct.

  Without updating the patch line numbers, things appear to work, but you get extra log messages while building `depends` because things don't exactly match, e.g.:
  ```
  /bitcoin/depends> make zeromq
  Extracting zeromq...
  /bitcoin/depends/sources/zeromq-4.2.5.tar.gz: OK
  Preprocessing zeromq...
  patching file src/windows.hpp
  Hunk #1 succeeded at 58 (offset 3 lines).
  patching file src/thread.cpp
  Hunk #1 succeeded at 307 with fuzz 2 (offset 87 lines).
  Hunk #2 succeeded at 323 with fuzz 2 (offset 90 lines).
  ```
  Updating the patches seemed cleaner, so I did it. Note that libzmq had some whitespace changes, so that's why the updated patches do too.

  More info: https://github.com/zeromq/libzmq/releases/tag/v4.2.5

  tags: libzmq, zmq, 0mq

Tree-SHA512: 78659dd276b5311e40634b1bbebb802ddd6b69662ba3c84995ef1e3795c49a78b1635112c7fd72a405ea36e2cc3bdeb84e6d00d4e491a349bba1dafff50e2fa5

dooglus pushed a commit to dooglus/bitcoin that referenced this issue Oct 19, 2018

@bitcoin bitcoin locked and limited conversation to collaborators Jan 27, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.