python-bitcoinrpc 1.0 on PyPI - Libraries.io

⚡ Lightning Network Megathread ⚡

Last updated 2018-01-29
This post is a collaboration with the Bitcoin community to create a one-stop source for Lightning Network information.
There are still questions in the FAQ that are unanswered, if you know the answer and can provide a source please do so!

⚡What is the Lightning Network? ⚡

Explanations:

Image Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

  • starkbot - (Elizabeth Stark - Lightning Labs)
  • roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • stile65 - (Alex Akselrod - Lightning Labs)
  • cfromknecht - (Conner Fromknecht - Lightning Labs)
  • RustyReddit - (Rusty Russell - Blockstream)
  • cdecker - (Christian Decker - Blockstream)
  • Dryja - (Tadge Dryja - Digital Currency Initiative)
  • josephpoon - (Joseph Poon)
  • fdrn - (Fabrice Drouin - ACINQ )
  • pmpadiou - (Pierre-Marie Padiou - ACINQ)

Lightning Network Experts on Twitter

  • @starkness - (Elizabeth Stark - Lightning Labs)
  • @roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • @stile65 - (Alex Akselrod - Lightning Labs)
  • @bitconner - (Conner Fromknecht - Lightning Labs)
  • @johanth - (Johan Halseth - Lightning Labs)
  • @bvu - (Bryan Vu - Lightning Labs)
  • @rusty_twit - (Rusty Russell - Blockstream)
  • @snyke - (Christian Decker - Blockstream)
  • @JackMallers - (Jack Mallers - Zap)
  • @tdryja - (Tadge Dryja - Digital Currency Initiative)
  • @jcp - (Joseph Poon)
  • @alexbosworth - (Alex Bosworth - yalls.org)

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallets

Place a testnet transaction

Altcoin Trading using Lightning

  • ZigZag - Disclaimer You must trust ZigZag to send to Target Address

Lightning on Mainnet

Warning - Testing should be done on Testnet

Atomic Swaps

Developer Documentation and Resources

Lightning implementations

  • LND - Lightning Network Daemon (Golang)
  • eclair - A Scala implementation of the Lightning Network (Scala)
  • c-lightning - A Lightning Network implementation in C
  • lit - Lightning Network node software (Golang)
  • lightning-onion - Onion Routed Micropayments for the Lightning Network (Golang)
  • lightning-integration - Lightning Integration Testing Framework
  • ptarmigan - C++ BOLT-Compliant Lightning Network Implementation [Incomplete]

Libraries

Lightning Network Visualizers/Explorers

Testnet

Mainnet

Payment Processors

  • BTCPay - Next stable version will include Lightning Network

Community

Slack

IRC

Slack Channel

Discord Channel

Miscellaneous

⚡ Lightning FAQs ⚡

If you can answer please PM me and include source if possible. Feel free to help keep these answers up to date and as brief but correct as possible
Is Lightning Bitcoin?
Yes. You pick a peer and after some setup, create a bitcoin transaction to fund the lightning channel; it’ll then take another transaction to close it and release your funds. You and your peer always hold a bitcoin transaction to get your funds whenever you want: just broadcast to the blockchain like normal. In other words, you and your peer create a shared account, and then use Lightning to securely negotiate who gets how much from that shared account, without waiting for the bitcoin blockchain.
Is the Lightning Network open source?
Yes, Lightning is open source. Anyone can review the code (in the same way as the bitcoin code)
Who owns and controls the Lightning Network?
Similar to the bitcoin network, no one will ever own or control the Lightning Network. The code is open source and free for anyone to download and review. Anyone can run a node and be part of the network.
I’ve heard that Lightning transactions are happening “off-chain”…Does that mean that my bitcoin will be removed from the blockchain?
No, your bitcoin will never leave the blockchain. Instead your bitcoin will be held in a multi-signature address as long as your channel stays open. When the channel is closed; the final transaction will be added to the blockchain. “Off-chain” is not a perfect term, but it is used due to the fact that the transfer of ownership is no longer reflected on the blockchain until the channel is closed.
Do I need a constant connection to run a lightning node?
Not necessarily,
Example: A and B have a channel. 1 BTC each. A sends B 0.5 BTC. B sends back 0.25 BTC. Balance should be A = 0.75, B = 1.25. If A gets disconnected, B can publish the first Tx where the balance was A = 0.5 and B = 1.5. If the node B does in fact attempt to cheat by publishing an old state (such as the A=0.5 and B=1.5 state), this cheat can then be detected on-chain and used to steal the cheaters funds, i.e., A can see the closing transaction, notice it's an old one and grab all funds in the channel (A=2, B=0). The time that A has in order to react to the cheating counterparty is given by the CheckLockTimeVerify (CLTV) in the cheating transaction, which is adjustable. So if A foresees that it'll be able to check in about once every 24 hours it'll require that the CLTV is at least that large, if it's once a week then that's fine too. You definitely do not need to be online and watching the chain 24/7, just make sure to check in once in a while before the CLTV expires. Alternatively you can outsource the watch duties, in order to keep the CLTV timeouts low. This can be achieved both with trusted third parties or untrusted ones (watchtowers). In the case of a unilateral close, e.g., you just go offline and never come back, the other endpoint will have to wait for that timeout to expire to get its funds back. So peers might not accept channels with extremely high CLTV timeouts. -- Source
What Are Lightning’s Advantages?
Tiny payments are possible: since fees are proportional to the payment amount, you can pay a fraction of a cent; accounting is even done in thousandths of a satoshi. Payments are settled instantly: the money is sent in the time it takes to cross the network to your destination and back, typically a fraction of a second.
Does Lightning require Segregated Witness?
Yes, but not in theory. You could make a poorer lightning network without it, which has higher risks when establishing channels (you might have to wait a month if things go wrong!), has limited channel lifetime, longer minimum payment expiry times on each hop, is less efficient and has less robust outsourcing. The entire spec as written today assumes segregated witness, as it solves all these problems.
Can I Send Funds From Lightning to a Normal Bitcoin Address?
No, for now. For the first version of the protocol, if you wanted to send a normal bitcoin transaction using your channel, you have to close it, send the funds, then reopen the channel (3 transactions). In future versions, you and your peer would agree to spend out of your lightning channel funds just like a normal bitcoin payment, allowing you to use your lightning wallet like a normal bitcoin wallet.
Can I Make Money Running a Lightning Node?
Not really. Anyone can set up a node, and so it’s a race to the bottom on fees. In practice, we may see the network use a nominal fee and not change very much, which only provides an incremental incentive to route on a node you’re going to use yourself, and not enough to run one merely for fees. Having clients use criteria other than fees (e.g. randomness, diversity) in route selection will also help this.
What is the release date for Lightning on Mainnet?
Lightning is already being tested on the Mainnet Twitter Link but as for a specific date, Jameson Lopp says it best
Would there be any KYC/AML issues with certain nodes?
Nope, because there is no custody ever involved. It's just like forwarding packets. -- Source
What is the delay time for the recipient of a transaction receiving confirmation?
Furthermore, the Lightning Network scales not with the transaction throughput of the underlying blockchain, but with modern data processing and latency limits - payments can be made nearly as quickly as packets can be sent. -- Source
How does the lightning network prevent centralization?
Bitcoin Stack Exchange Answer
What are Channel Factories and how do they work?
Bitcoin Stack Exchange Answer
How does the Lightning network work in simple terms?
Bitcoin Stack Exchange Answer
How are paths found in Lightning Network?
Bitcoin Stack Exchange Answer
How would the lightning network work between exchanges?
Each exchange will get to decide and need to implement the software into their system, but some ideas have been outlined here: Google Doc - Lightning Exchanges
Note that by virtue of the usual benefits of cost-less, instantaneous transactions, lightning will make arbitrage between exchanges much more efficient and thus lead to consistent pricing across exchange that adopt it. -- Source
How do lightning nodes find other lightning nodes?
Stack Exchange Answer
Does every user need to store the state of the complete Lightning Network?
According to Rusty's calculations we should be able to store 1 million nodes in about 100 MB, so that should work even for mobile phones. Beyond that we have some proposals ready to lighten the load on endpoints, but we'll cross that bridge when we get there. -- Source
Would I need to download the complete state every time I open the App and make a payment?
No you'd remember the information from the last time you started the app and only sync the differences. This is not yet implemented, but it shouldn't be too hard to get a preliminary protocol working if that turns out to be a problem. -- Source
What needs to happen for the Lightning Network to be deployed and what can I do as a user to help?
Lightning is based on participants in the network running lightning node software that enables them to interact with other nodes. This does not require being a full bitcoin node, but you will have to run "lnd", "eclair", or one of the other node softwares listed above.
All lightning wallets have node software integrated into them, because that is necessary to create payment channels and conduct payments on the network, but you can also intentionally run lnd or similar for public benefit - e.g. you can hold open payment channels or channels with higher volume, than you need for your own transactions. You would be compensated in modest fees by those who transact across your node with multi-hop payments. -- Source
Is there anyway for someone who isn't a developer to meaningfully contribute?
Sure, you can help write up educational material. You can learn and read more about the tech at http://dev.lightning.community/resources. You can test the various desktop and mobile apps out there (Lightning Desktop, Zap, Eclair apps). -- Source
Do I need to be a miner to be a Lightning Network node?
No -- Source
Do I need to run a full Bitcoin node to run a lightning node?
lit doesn't depend on having your own full node -- it automatically connects to full nodes on the network. -- Source
LND uses a light client mode, so it doesn't require a full node. The name of the light client it uses is called neutrino
How does the lightning network stop "Cheating" (Someone broadcasting an old transaction)?
Upon opening a channel, the two endpoints first agree on a reserve value, below which the channel balance may not drop. This is to make sure that both endpoints always have some skin in the game as rustyreddit puts it :-)
For a cheat to become worth it, the opponent has to be absolutely sure that you cannot retaliate against him during the timeout. So he has to make sure you never ever get network connectivity during that time. Having someone else also watching for channel closures and notifying you, or releasing a canned retaliation, makes this even harder for the attacker. This is because if he misjudged you being truly offline you can retaliate by grabbing all of its funds. Spotty connections, DDoS, and similar will not provide the attacker the necessary guarantees to make cheating worthwhile. Any form of uncertainty about your online status acts as a deterrent to the other endpoint. -- Source
How many times would someone need to open and close their lightning channels?
You typically want to have more than one channel open at any given time for redundancy's sake. And we imagine open and close will probably be automated for the most part. In fact we already have a feature in LND called autopilot that can automatically open channels for a user.
Frequency will depend whether the funds are needed on-chain or more useful on LN. -- Source
Will the lightning network reduce BTC Liquidity due to "locking-up" funds in channels?
Stack Exchange Answer
Can the Lightning Network work on any other cryptocurrency? How?
Stack Exchange Answer
When setting up a Lightning Network Node are fees set for the entire node, or each channel when opened?
You don't really set up a "node" in the sense that anyone with more than one channel can automatically be a node and route payments. Fees on LN can be set by the node, and can change dynamically on the network. -- Source
Can Lightning routing fees be changed dynamically, without closing channels?
Yes but it has to be implemented in the Lightning software being used. -- Source
How can you make sure that there will be routes with large enough balances to handle transactions?
You won't have to do anything. With autopilot enabled, it'll automatically open and close channels based on the availability of the network. -- Source
How does the Lightning Network stop flooding nodes (DDoS) with micro transactions? Is this even an issue?
Stack Exchange Answer

Unanswered Questions

How do on-chain fees work when opening and closing channels? Who pays the fee?
How does the Lightning Network work for mobile users?
What are the best practices for securing a lightning node?
What is a lightning "hub"?
How does lightning handle cross chain (Atomic) swaps?

Special Thanks and Notes

  • Many links found from awesome-lightning-network github
  • Everyone who submitted a question or concern!
  • I'm continuing to format for an easier Mobile experience!
submitted by codedaway to Bitcoin [link] [comments]

Fun and (dangerous) Games in Electrum console.

Disclaimer: Not my address. It's using the ["all"] x 12 BIP39 test-vector seed.
So a while ago trezorctl used to have about a medium level of difficulty with installation on Windows due to ethash or rpc libraries. Long sense fixed. But I always wanted a self contained python trezor play-pen. Then I found the electrum console.
Really NOT recommended even to the most advanced user, but I still thought it was amazingly cool since the whole Trezor API is up and running under the hoods. Here's a small example.
  1. Open your electrum Trezor wallet
  2. Choose View->Console
  3. Read, understand, and acknowledge the warnings.
  4. Consider the following console commands.
```
from trezorlib import btc, tools client=wallet.keystore.get_client().client btc.get_address(client, "Bitcoin", tools.parse_path("m/44'/0'/0'/0/0")) '1JAd7XCBzGudGpJQSDSfpmJhiygtLQWaGL' ```
TaDa!!!
As the warning suggests. Never plunk code someone gives you into the electrum console. Still thought it was pretty cool. Look at the Trezor test scripts for some good ideas of what to play around with.
submitted by brianddk to TREZOR [link] [comments]

Noobie Q: Falling over at Mastering Bitcoin’s first Python example...

I’ve seen others have had something similar but for the life of me I’m still stuck...at the first step in Mastering Bitcoin’s first Python example..
My setup -
LND Raspberry PI connecting to it via Putty SSH (blockchain up to date and running fine, eg getblockchain info)
I’ve installed python with: sudo apt-get install libssl-dev
Process I followed -
Once connected through SSH/Putty, I change to my “bitcoin” user
Using nano, I create a “rpc_example.py” file following the code in the book
Then back at the cli I run it with:
“Python rpc_example.py”
And I get this error below which shows its fallen over at the first line - import from bitcoin.rpc import RawProxy
“No module named bitcoin.rpc”
Confusion: I’m not sure if this is an access issue cos of the way I’m connecting or if I’m mixed up between JSON-RPC vs Cli or I’m not following/running things from the right location.
Help please? or maybe I just need to first get a better grip on the fundamentals of Linux/python?
Edit 6/1/18: Success. This group rocks.
I wasn’t going to continue with Mastering Bitcoin if I didn’t get past that exercise - but thanks to you for all the timely advice and suggestions i now can. So much learning in the doing that’s for sure. You can see my finding-my-way-in-the-dark-experience (with the fantastic guidance by this group) in my comments below.
submitted by Haso_04 to Bitcoin [link] [comments]

Technical community | LBTC tech community member develops a new blockbrowser ‘Thebes’

Technical community | LBTC tech community member develops a new blockbrowser ‘Thebes’
Recently, from the LBTC developer community ,a geek called Chen Jian helped LBTC develope a new block browser — “Thebes” : https://lbtc.me/lbtc/explorer .

https://preview.redd.it/lbfr0m0ev4031.png?width=1059&format=png&auto=webp&s=973796c43edbe3f095b82ad0b967ed31e20c831d
Thebes mainly USES python development language and flask development framework. In terms of database, high-performence MongoDB is selected to cooperate with Mysql. By using transaction id as the primary key of data storage, the speed of transaction information search is greatly improved. In other development respects, the Web server selects nginx, the process management tool selects supevisor and python(gevent), and the timing task tool selects crontab. Meanwhile, in the development process of Thebes, some js and CSS code fragments were optimized and compressed to speed up the page loading speed. In GTmetrix and Yellowlab’s global blockbrowser performance tests, the “Thebes” browser received the highest grade A in core metrics such as CSS snippet authoring, image loading, style & script optimization, linking server resources, and docking cache validators.
Click the link to see the full rating report:
https://gtmetrix.com/reports/lbtc.me/rsXxSwhI
https://yellowlab.tools/result/fcakefdwkk
Compared to existing LBTC blockbrowsers, Thebes has the following innovative features
Global Mining Node Full Information Statistics
In the node page of Thebes, the user can easily find information about all the mining nodes of LBTC. As of May 17, 2019, Beijing time, LBTC has 231 full nodes in operation, among which 17 nodes use the network client of /Satoshi: 0.14.2/70013 version. Of the 231 nodes, two have adopted IPv6’s sixth generation Internet communication scheme. In addition to this basic information, the user can see information for each specific node. For example, the node ranked 81 in votes :(cobo.com/lbtc.7), the address balance, transaction information, block history, voting information, proposal status and so on.

https://preview.redd.it/rw32iyqhv4031.png?width=1075&format=png&auto=webp&s=42c9322b6eeb891b1ff288e8375fe5e9d97fd287
The blockbrowser is also a network interface to JSON-RPC. In order to better count the mining nodes of the LBTC network around the world, the browser does this by continuously sending getaddr information to all accessible network nodes.
Real-time Update of Network Status
In a Bitcoin network, the value of a Bitcoin is proportional to the square of the number of people using the network, which is determined by two parameters: the number of addresses and the daily transaction volume. In the “Thebes” browser, the core parameters of the network, such as daily transaction volume, daily change in the number of newly added Lightning Bitcoin addresses, total number of Lightning Bitcoin holders, average transfer fee and average block volume, are all clearly displayed.

https://preview.redd.it/pukrf8hjv4031.png?width=1074&format=png&auto=webp&s=3e5989be9c95b4fc1bc2e578defddfdb48c4109e
About the Technical Community
The LBTC technology community was officially launched in early April 2019. The core developer of the technology community, W.H.H., announced on Twitter on April 15 that the LBTC foundation would invest more than $1 million in technology community incentives. The open rewards system gives developers from around the world a way to learn about blockchain development, try new ideas and contribute to projects. The technology community is still in its infancy, but it has brought together a group of passionate developers. By writing documents, developing blockbrowsers and wallets, and organizing offline seminars for the developer community, they have helped the community thrive and opened the door to LBTC for many investors and developers.
submitted by LightningBitcoin to LightningBTC [link] [comments]

Ravencoin Open Developer Meeting - 2/15/2019

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:02 PM
Hello everybody!

theking - Last Friday at 2:02 PM

Seems likes it’s been so long since this meeting was held. At least a month 📷

Tron - Last Friday at 2:02 PM

Hi all!!!

Tom - Last Friday at 2:02 PM

Big boss is here !(edited)

BigZim - Last Friday at 2:03 PM

Oh hi

theking - Last Friday at 2:04 PM

Hi @Tron

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:04 PM

Topics for today: Release 2.2.2, Mobile Wallet, Restricted Assets, SLC Raven Meetup📷1

truedev - Last Friday at 2:05 PM

hello

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:05 PM

Release 2.2.2 GO

J. | ravenland.org - Last Friday at 2:05 PM

Hey

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:05 PM

BTW, blondfrogs won't be able to join us today. 📷

corby - Last Friday at 2:05 PM

Hi all

Chatturga - Last Friday at 2:05 PM

Blondefrogs has been working on the 2.2.2 update. He isnt here today, but he left this tidbit for the meeting:(edited)"Release 2.2.2 has a bunch of new updates. The sync speed fix that was released in 2.2.1 has been updated even more to use less memory/ram and uses less CPU. Each node used to hold all addresses that contained an asset as well as the amount in those addresses. That is now optional with the -assetindex flag. Which can be put into the raven.conf or added as a parameter when starting the wallet. Some other wallet issues were also fixed with this memory update. This is considered an mandatory update, especially if you haven't updated to 2.2.1 which resolved a potential fork bug fix. I would still suggest updating to 2.2.2 even if you are on 2.2.1."📷6

Jeroz - Last Friday at 2:07 PM

wen source?📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:07 PM

There's a PR that was just moved to Develop.When is now

Jeroz - Last Friday at 2:08 PM

great 📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:08 PM

It'll be merged by the devs to master and then binaries should be posted soon

truedev - Last Friday at 2:09 PM

any idea when dividends will be functional?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:09 PM

A bunch of testing has been happening and is currently running on the seed-nodes.

Tron - Last Friday at 2:10 PM

No timeline for dividends, but it is the one function that doesn't need any changes to consensus. And it can be done on tier 2 with a python script. The plan is still to build in a rpc call.📷2

truedev - Last Friday at 2:11 PM

alright

SpyderDev - Last Friday at 2:12 PM

We have been focusing on sync performance and have been running many tests. I've added an image of the results of this testing. Currently we still want to work on getting the Windows QT sync times faster (at least closer to what they are using just ravend). Overall we are very happy with the speeds and hope it will help people that have struggled getting their nodes up to date.(edited)📷

Jeroz - Last Friday at 2:13 PM

Yeah that table completely puzzled me

[Master] Roshii - Last Friday at 2:13 PM

hello!📷6

Jeroz - Last Friday at 2:13 PM

Fast branch is 2.2.1? or 2.2.2? Develop branch is 2.2.0?

SpyderDev - Last Friday at 2:15 PM

Sorry, should have clarified that. I was testing while it was still under development. On the table the top is the new-sync code, the bottom is the old "assets" release. As of about 5 minutes ago all of this code is on the develop branch.

Jeroz - Last Friday at 2:15 PM

Although syncing is mostly bottlenecked by cpu speed, that 16 core windows-qt still looks off to me. I synced windows Qt using 2.2.2 in ~2h on a i5-7600K.ok

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:17 PM

Okay, we good to move to the Mobile update?

SpyderDev - Last Friday at 2:17 PM

The Windows box is an AWS instance and there is some concern that the remote desktop could be slowing the QT UI down causing the horrible sync times. I am working on getting a local Windows 10 resource and will have updated information once that is ready (early next week).

Jeroz - Last Friday at 2:18 PM

ah that might explain. Ubuntu qt was 45 mins for me

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:18 PM

CoolOkay, Mobile!Go!

[Master] Roshii - Last Friday at 2:18 PM

📷📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:19 PM

@[Master] Roshii has been working closely with some of the other devs to get the iOS version out the door.Android will follow closely.

Jeroz - Last Friday at 2:20 PM

is android an easy port?

J. | ravenland.org - Last Friday at 2:20 PM

Usually its the case(?), i mean easier 📷(edited)

SpyderDev - Last Friday at 2:20 PM

Just copy and paste right Roshii 📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:20 PM

LOLNo, usually its a completely new development effort.For the RVN Wallets they are both written in native iOS/Android code.

[Master] Roshii - Last Friday at 2:21 PM

So the iOS and Android use the same Core SPV module written in C, and it's the most difficult part.I have already did some work when it comes to Android, and it's 70% finishedHave also to port all the changes we lately did to the iOS wallet ...

boatsandhoes - Last Friday at 2:21 PM

yeah, unfortunately its not as easy as cut and paste for ios to android

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:21 PM

Anybody interested in installing the TestFlight version and helping us test?

boatsandhoes - Last Friday at 2:22 PM

yes

J. | ravenland.org - Last Friday at 2:22 PM

For android? sure.

BW__ - Last Friday at 2:22 PM

Android? yes.(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:22 PM

I'll talk to Apple about adding Android support to TestFlight.Might be a while.

J. | ravenland.org - Last Friday at 2:22 PM

lol

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:22 PM

Anybody on here using iOS?

Jeroz - Last Friday at 2:22 PM

Yeh me

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:22 PM

besides me...

[Master] Roshii - Last Friday at 2:23 PM

Android is very close, fortunately I'll have enough coffee in Morocco to finish the wallet in two weeks.(edited)📷4📷5

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:23 PM

https://testflight.apple.com/join/NTVQ2FfY (400 installs available)Join the RVN Wallet betaAvailable on iOS📷

theking - Last Friday at 2:23 PM

I will test iOS if needed

[Master] Roshii - Last Friday at 2:23 PM

@shiny

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:24 PM

Some of the devs have been doing a bunch of testing on iOS but we would love others to help.Bugs can be reported on GitHubhttps://github.com/RavenProject/ravenwallet-iosGitHubRavenProject/ravenwallet-iosContribute to RavenProject/ravenwallet-ios development by creating an account on GitHub.📷

truedev - Last Friday at 2:25 PM

how confident are you that apple will allow it on the appstore

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:25 PM

It's already in the App store.

truedev - Last Friday at 2:25 PM

ok

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:25 PM

That wasn't easy though.

truedev - Last Friday at 2:26 PM

yah figured, a lot of coins have been completely rejected(edited)

Chatturga - Last Friday at 2:26 PM

The devs already jumped through Apples 152,315 flaming hoops to get it in there.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:26 PM

Yup, many meetings and phone calls.

J. | ravenland.org - Last Friday at 2:26 PM

wen rvn modular phone

Jeroz - Last Friday at 2:27 PM

Looking good📷📷7

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:28 PM

Okay, any questions about iOS release?

jaysonb - Last Friday at 2:28 PM

seed word format changed? i seem to have to have same words. did i need to delete and install fresh?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:29 PM

No, it used your old ones.Always have your 12 words. especially when testing.

ravencoin maximalist 🧘🏻♂ - Last Friday at 2:30 PM

I’ve got iOS

Tron - Last Friday at 2:30 PM

If you use your 12-words, and then sync, and you're missing funds. Go here: https://medium.com/@tronblack/ravencoin-testing-ios-wallet-b713deb2c800MediumRavencoin — Testing iOS Wallet – Tron Black – MediumThank you for helping us test the Ravencoin iOS mobile wallet. Since you are in an early group of testers, you might have used the…

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:30 PM

Sweet, install and report bugs.

Tron - Last Friday at 2:30 PM

Or just go there...

jaysonb - Last Friday at 2:30 PM

that article scared me so i moved everything off.but i'll put some back on now

ravencoin maximalist 🧘🏻♂ - Last Friday at 2:31 PM

📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:31 PM

That's unfortunate. You don't need to be scared ever if you have your 12 words.

[Master] Roshii - Last Friday at 2:31 PM

android current state(edited)📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:32 PM

Here's the install link one more time for those that have joined late: https://testflight.apple.com/join/NTVQ2FfYJoin the RVN Wallet betaAvailable on iOS📷Okay, Tron's topic: Restricted Tokens

Tron - Last Friday at 2:33 PM

I have an idea.(edited)📷7📷6

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:34 PM

That several other devs have helped with. 📷

Tron - Last Friday at 2:34 PM

📷

SpyderDev - Last Friday at 2:34 PM

and lawyers

Tron - Last Friday at 2:34 PM

When the project started, ICOs were the big thing. Now it is STOsThe main difference is the legal wrapping and rules around securities.If Ravencoin has two more token types (Tags and Restricted Assets), there are lots of ways to make compliant tokens.Importantly, it doesn't affect the existing tokens at all.Tags - Tokens that can be sent only by the issuer once (with metadata).These tokens start with (hashtag)(edited)📷8

SpyderDev - Last Friday at 2:37 PM

^(octothorpe)

Tron - Last Friday at 2:37 PM

The Restricted Assets start with $, and can be frozen by the issuer. But they only move between tagged addresses.(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:38 PM

Tags can be sent to a user's address after the issuer has done the necessary due diligence for an STO issuance.(edited)

Tron - Last Friday at 2:38 PM

The issuer determines which tags the Restricted Asset will honor.This can be used for lots of different use cases.

EEE - Last Friday at 2:38 PM

Stunning interface guys

boatsandhoes - Last Friday at 2:39 PM

will that determination be a setting in the wallet?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:39 PM

Restricted assets can then only be sent to addresses that are allowed and have the proper Tags.

boatsandhoes - Last Friday at 2:39 PM

interesting📷1

J. | ravenland.org - Last Friday at 2:39 PM

Did you guys get contacted by some entity* whos forcing the restricted address policy? or is this done as precautionary measure? At first glance your idea sounds good Tron.(edited)

Tron - Last Friday at 2:39 PM

Example: $UBER token only moves among addresses tagged with #KYC

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:40 PM

So Ravenland will have to buy a bunch more spam tokens.📷4

SpyderDev - Last Friday at 2:40 PM

#ravenland.

boatsandhoes - Last Friday at 2:40 PM

so is the $ something that can be added to an existing asset?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:40 PM

It's not a forced thing. But adding the ability for Raven to be used in new use cases where legal requirements exist.

Tron - Last Friday at 2:40 PM

Not contacted by anyone, and not precautionary. Ravencoin Assets are just tools. This is just another tool that will help issuers of security tokens.📷9📷4

BW__ - Last Friday at 2:41 PM

Love it.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:41 PM

It'll be a new token type that you can create @boatsandhoes📷1

ravencoin maximalist 🧘🏻♂ - Last Friday at 2:41 PM

That sounds awesome

SpyderDev - Last Friday at 2:41 PM

I for one am very excited about this...📷4

Hans_Schmidt - Last Friday at 2:41 PM

How does the $ token owner specify the required # tags?

DeejayQQ - Last Friday at 2:41 PM

Can the same name have different token type?Sorry need time to digest

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:42 PM

Still working out the details. Tron will be posting additional info about the idea soon.

Steelers - Last Friday at 2:42 PM

Cool

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:42 PM

Feedback is wanted!

Tron - Last Friday at 2:42 PM

Q: Was this originally the plan for Ravencoin? A: No. This is in response to the regulatory ramp up in 2018 in some jurisdictions which requires that only known individuals or entities to operate peer-to-peer on certain tokens. For jurisdictions that allow unrestricted peer-to-peer transfer, we strongly encourage use of the original Ravencoin assets. The Restricted Assets are an adaptation to satisfy burdensome, privacy-destroying regulations, with a goal of reducing information replication which makes Ravencoin Restricted Assets a better alternative to those being promoted now.

jaysonb - Last Friday at 2:43 PM

all nodes will validate the transactions not just those interested in the transaction - i assume all will validate..

boatsandhoes - Last Friday at 2:43 PM

so essentially any name already secured in the hopes of having that functionality are worth less because they wont be able to?

theking - Last Friday at 2:44 PM

Can the restricted assets be time based in any way? For instance, in some STO regulated environment, there is a lockup for some period of time after issuance, but then after a certain period of time the restriction goes away and the securities can be traded. Is that contemplated at all?

DeejayQQ - Last Friday at 2:44 PM

If I already have Tron as my asset, there could be another Tron but under a different token type such as restricted assets?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:44 PM

Yes all nodes will do consensus checks.

corby - Last Friday at 2:44 PM

@boatsandhoes there's going to be a grace period where you can purchase $XXX if you own XXXon the order of months

boatsandhoes - Last Friday at 2:45 PM

📷 📷 📷 📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:45 PM

Yes, you have the TRON asset and you can also have the $TRON asset.(edited)

Tron - Last Friday at 2:45 PM

Regarding the lockup....

boatsandhoes - Last Friday at 2:45 PM

how many RVN for that?

Tron - Last Friday at 2:45 PM

Rule 144 under the Securities Act of 1933 This is an important rule to be aware of in terms of privately held securities. This rule provides the most commonly used exemption for holders to sell restricted securities (Note: For context, a restricted security is a security sold in an exempt offering, except for Reg A+). The general idea is that you can publicly resell your “restricted” (privately sold) securities only when the restricted legend is removed. The solution Ravencoin Restricted Assets provides is the ability for the Iissuer to Freeze the asset ininto the holders account. The qty will be visible, and the frozen status will be visible. The meta-data for a Freeze can specify 144_Restricted. The issuer can Unfreeze to release the 144 restriction.Similar for Reg D 1-year lockup.@theking

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:46 PM

@theking ^^

DeejayQQ - Last Friday at 2:46 PM

What is the timeline for this restricted asset to be implemented?📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:46 PM

No timelines yetStill in the ideation phase.

SpyderDev - Last Friday at 2:46 PM

Fresh off the press...

DeejayQQ - Last Friday at 2:46 PM

Ok, idea for nowGot it

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:46 PM

Wanting input for the idea.

boatsandhoes - Last Friday at 2:47 PM

a preset for lock up settings would be nice

Jeroz - Last Friday at 2:47 PM

What about the ability to move an asset from restricted to unrestricted after grace period similar to the reissue ability? By the issuer(edited)

boatsandhoes - Last Friday at 2:47 PM

adjustable preset*

DeejayQQ - Last Friday at 2:48 PM

If this restricted assets would help underlying token listed on exchanges for trading by satisfying the legal requirements, I don’t see why not. There are only benefits📷2

boatsandhoes - Last Friday at 2:48 PM

yeah, win win

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:48 PM

There is something similar in vote tokens.

corby - Last Friday at 2:48 PM

@Jeroz the issuer would be able to "reissue" and relax restrictions

DeejayQQ - Last Friday at 2:48 PM

Just throwing things out here. Can we just make all existing tokens crested so far restricted assets?*created

boatsandhoes - Last Friday at 2:49 PM

stupid question, is it possible to have burned rvn cost for the $ to add onto the block reward as a bonus?(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:49 PM

No, @DeejayQQ there should be both usecases available in the platform.

corby - Last Friday at 2:49 PM

We (my dog and I) are envisioning a differentiated space where we can charge a lot more RVN to keep non-serious people out..(edited)

Tron - Last Friday at 2:49 PM

@Jeroz Yes, as long as the asset is still "reissuable", you could change the logic from (#KYC & #ACCREDITED) to just #KYC📷3

Jeroz - Last Friday at 2:49 PM

I'm just worrying about the name uniqueness if you can have #BANANA and $BANANA

BW__ - Last Friday at 2:50 PM

Is it fair to assume that tags can be standardized for specific purposes? If so, should we create something akin to an 'ERC' in git repo?

Jeroz - Last Friday at 2:50 PM

@Tron sounds cool

truedev - Last Friday at 2:50 PM

honestly, I think you should be able to buy/create an asset in a set, with all types(edited)

boatsandhoes - Last Friday at 2:50 PM

^that part

Hans_Schmidt - Last Friday at 2:51 PM

Since the #KYC tag is just locked to an address, what prevents someone from selling their address and thereby the KYC?

corby - Last Friday at 2:51 PM

The "#" types won't trade -- they're just stamps to stamp addresses as qualified-to-hold-some-stuff..

Tron - Last Friday at 2:51 PM

The tags are created by the users. The system is still jurisidiction agnostic.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:51 PM

@Hans_Schmidt nothing really, the same thing as selling your username password to any other existing financial app account.

corby - Last Friday at 2:51 PM

@Hans_Schmidt Real world networks, high cost of entry (for serious applications)For non-serious applications, nothing

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:51 PM

You still have the liability associated with that account though.

Jeroz - Last Friday at 2:52 PM

@corby what about BANANA/ vs $BANANA/ ?Or do you want to make them subassets?

boatsandhoes - Last Friday at 2:52 PM

@Jeroz better safe than sorry, just swoop both

Tron - Last Friday at 2:52 PM

A country could require that #SOMECOUNTRY tag has to exist before moving $SPECIALASSET to an address. The users set the rules. #KYC was just an example because it is an industry problem at the moment.

corby - Last Friday at 2:52 PM

#BANANA, $BANANA, TRICYCLE, and BANANA can all coexist just fine I think..

theking - Last Friday at 2:53 PM

Thanks @Tron. This is great and I think something that will enable raven to become an even more widely used platform.📷4

Tron - Last Friday at 2:53 PM

That's the hope. I think it solves some real problems that the industry is trying to solve through incompatible ERC-20 experiments.📷3

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:54 PM

/hacks📷3

boatsandhoes - Last Friday at 2:54 PM

what is the purposed cost for $ in addition to an existing asset?

corby - Last Friday at 2:54 PM

People that own #THESE I am calling "Qualifiers" -- they just stamp their mark on addresses. Issuers of $THESE need to establish trust with #THESE and #THOSE and then decide what restrictions to apply.📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:54 PM

5 mins left. Stay on this topic or switch to meetup?

Tron - Last Friday at 2:55 PM

@boatsandhoes Not determined.

Jeroz - Last Friday at 2:55 PM

yeah the idea is a nice proof of ownership / membership

DeejayQQ - Last Friday at 2:55 PM

Meetup

Chatturga - Last Friday at 2:55 PM

TL;DR - The SLC meetup is in 1 month. Go to https://www.meetup.com/Salt-Lake-City-salt-lake-city-Meetup/ to indicate if you plan on attending so that we have a somewhat accurate headcount.MeetupSalt Lake City Ravencoin (Salt Lake City, UT)Ravencoin is a blockchain and platform optimized for transferring assets, such as tokens, from one holder to another, and is built on a fork of the Bitcoin code. It is intended to prioritize security,📷

corby - Last Friday at 2:55 PM

@boatsandhoes One Million Raven

Chatturga - Last Friday at 2:55 PM

Punch and pie

J. | ravenland.org - Last Friday at 2:56 PM

Can the SLC meetup made interactive for people that cant make it there?

theking - Last Friday at 2:56 PM

What about having just one name ( you first buy the standard raven token under whatever name you like) and then the holder of the owner token is the only one to create restricted tokens ? Might be some way to ensure no name confusion.📷4

boatsandhoes - Last Friday at 2:56 PM

what about that block reward bonus concept for purchasing $. would that work?

Chatturga - Last Friday at 2:56 PM

I dont know that we have the ability to make it interactive as far as Q&A goes, but I'll look into it. We should have it live streaming. @J. | ravenland.org(edited)📷2

BW__ - Last Friday at 2:56 PM

@Tron Is there same kind of logic layer to restricted assets?(edited)

Tron - Last Friday at 2:57 PM

@theking I like that idea.

Jeroz - Last Friday at 2:57 PM

Quick question that is offtopic but I think deserves an answer because it was asked a couple of times earlier this week: Will unique assets get a reissuable function? To change IPFS.(edited)📷2

Tron - Last Friday at 2:57 PM

@BW__ Yes. Simple and, or, not and parenthesis - limited in length.(edited)

boatsandhoes - Last Friday at 2:57 PM

@theking thats a good idea

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:58 PM

@Jeroz There is not a way to do that currently.

BW__ - Last Friday at 2:58 PM

@Tron That makes sense. Thank you.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:58 PM

Just make sure your changes to the information have the same hash as the previous data and your golden. 📷📷1

Jeroz - Last Friday at 2:59 PM

Any plans on changing that, perhaps when introducing new types of assets?

boatsandhoes - Last Friday at 2:59 PM

i like that it cant be changed

corby - Last Friday at 3:00 PM

Thanks everyone!

theking - Last Friday at 3:00 PM

@Tron there was some info floating around about a 2nd later KYC solution ( from your recent podcast w Crypto Koala). Is that a separate solution someone is working on or part of this new concept?📷1

Tron - Last Friday at 3:01 PM

Starting with the introduction of messaging, every transaction can have an IPFS hash. Can be used as an public invoice, details about the transaction, etc.@theking The same new concept.

[Master] Roshii - Last Friday at 3:02 PM

Ok, we're done.

Steelers - Last Friday at 3:02 PM

How would Raven handle for instance a stock split?

BW__ - Last Friday at 3:02 PM

Are there sync concerns if a restricted asset logic layer is added?

Tron - Last Friday at 3:02 PM

@theking The KYC provider would store the KYC info, and send the Tag to an address with meta data that specifies that they're holding the KYC data. The KYC data would not be public, but could be audited.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 3:02 PM

That way you could update information about the original unique asset with each transaction.@Steelers Just a simple re-issue of the asset

Tron - Last Friday at 3:03 PM

@bw_ The logic layer is only a small db that stores the meta-data about the Restricted Asset, and enforces the restriction in the consensus rules. Rule returns true/false.(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 3:03 PM

Thanks everybody! I have to run.

Jeroz - Last Friday at 3:04 PM

I'm looking forward to the discussions to let this take shape. Thanks all! 📷📷4

Tron - Last Friday at 3:05 PM

@BW__ It would work very similarly to the way the units works now. Each asset has number of units and any transaction that makes it too granular (more satoshis) will fail in consensus -- even if it gets past the RPC checks.Signing off. Thanks all!!!📷9📷4📷9
submitted by Chatturga to Ravencoin [link] [comments]

BitN00B: Help with Python/JSON call : getNewAddress(account) - fail

When making a JSON call, RPC to bitcoind, what is "account" parameter in getNewAddress(account).
Does anyone have actual code to demo this? This is frustrating given how much time I have spent ( a day ),
trying to get this to work in code, trying different things, googling all over, following things to a dead end.

In my Bitcoin QT, I see no reference to "account", I don't know what to put there as a parameter.

Reference:
https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list#Full_list

If I leave it blank, or I make up something to put there, I get a socket timeout.
I can successfully call: getblockchaininfo() (no params), and a few others with no socket timeout, but not getNewAddress. Anything and everything requiring a parameter fails.
--
Also if anyone can help, I please need a clear concise example of sending a transaction. I can find no good code examples on how to create a raw transaction and send with any Python/RPC/Bitcoind library out there. None. It should not take more than a few lines of code to send a transaction.
  1. set variables in a data structure
  2. make a call to send the transaction (that's it). The library will take params from the data structure, construct a raw transaction, convert that raw transaction to the format it needs when sending over http (json/rpc), as it does and I understand it to work that way.
    I would like to have the raw transaction printed out to debug, both raw transaction and the actual hex code that is sent.
    Thank You,
    JC
submitted by ThisCryptoFail to Bitcoin [link] [comments]

Nice Article About How HPB Perform Vs EOS (and so ETH)

HPB: Unique Blockchain Infrastructure
Now most public chains will mention that the problem of tps development is the problem of the blockchain. This is also because the traditional blockchain has the problem of poor performance. In order to reach consensus, the efficiency is sacrificed. But if you want to build an ecosystem of countless DAPPs based on the public chain, there is no guarantee of performance that is almost impossible.
The dream of building a DAPP ecosystem is that Bitcoin has not been completed and it is not necessary to complete it. Bitcoin is only a digital currency and it has initially fulfilled its historical mission. It has become a value storer, and it has opened the world of the blockchain. .
Ethereum started with the goal of building a world-wide computer that provided the infrastructure for building decentralized applications, but so far it has only succeeded in the crowdfunding field. Due to performance, cost, scalability, and other issues, it is not yet possible to become a DAPP infrastructure. By the end of 2017, a simple encrypted cat game would have caused Ethereum to jam. Ethereum tried to get rid of the predicament through techniques such as fragmentation, Plasma, and PoS consensus.
Newcomers, such as EOS, are highlighting their high performance, emphasizing the possibility of reaching mega-level tps. Then, in the future, an infrastructure is needed to build a prosperous DAPP ecosystem on this decentralized infrastructure to meet the user or business needs of different scenarios.
What kind of program is a better choice? This is what blue fox has been paying attention to. Blue Fox focuses on an HPB blockchain project that uses a completely different search path than other public chains or infrastructure. This path is worth paying attention to all the buddies who pay attention to the blockchain.
This path is a combination of hardware and software. It is more demanding and the practice is more difficult. However, if it is truly grounded, it may be a good path.
HPB to become a high-performance blockchain infrastructure
Whether HPB or EOS have the same goals, they must provide a high-performance infrastructure for the decentralized ecosystem. why? Mainly from the blockchain to the mainstream business scene point of view. The current blockchain has achieved some success in security and decentralization, but there are natural constraints in terms of efficiency. This hinders its application scenario to the mainstream.
This is also a direction that Blockchain 3.0 has been exploring. Through higher performance, lower costs, and better scalability to meet the needs of more decentralized application scenarios.
The current bitcoin and Ethereum's throughput are both worrying. Bitcoin supports about 7 transactions per second on average, and Ethereum has about 15 throughputs. If you make the block bigger, you can also increase the throughput, but it will cause the problem of block bloat. Last year, an encrypted cat game made everyone see the blockchain congestion problem. From a performance point of view, it takes a long time for blockchains to reach the mainstream.
In addition to the lack of tps performance, the transaction cost of the blockchain is high. Both ordinary users and developers cannot afford gas costs that are too high. For example, before Ethereum's crypto-games became hot, there were even transaction fees compared to encrypted cats. It is also expensive.
The HPB and EOS goals are similar, but their paths are completely different. HPB uses a combination of hardware and software, has its own dedicated chip hardware server, which makes it theoretically have higher performance.
HPB is also trying to create an operating system architecture that can build applications. This architecture includes accounts, identity and authorization management, policy management, databases, asynchronous communications, program scheduling on CPUs, FPGAs, or clusters, and hardware accelerated technology. Realizes low delay and high concurrency and realizes mega-level tps to meet the needs of commercial scenarios.
It is different from EOS. Its architecture, in addition to its software architecture and its hardware architecture, is a combination of hardware and software blockchain architecture that combines high-performance computing and cloud computing concepts. The hardware system includes a distributed core node composed of high performance computing hardware, a general communication network, and a cloud terminal supported by high performance computing hardware.
The core node supports a standard blockchain software architecture, including consensus algorithms, network communications, and task processing. It also introduces a hardware acceleration engine. It works with software to achieve high-performance tps through BOE technology (Blockchain Offload Engine) and consensus algorithm acceleration, data compression, and data encryption.
BOE makes HPB unique
In the HPB's overall architecture, compared with other blockchain infrastructures, there are obvious differences. One of the important points is its BOE technology.
BOE mentioned above, is the blockchain offload engine. The BOE engine includes BOE hardware, BOE firmware, and matching software systems. It is a heterogeneous processing system that achieves high performance and high concurrent computational acceleration by combining CPU serial capabilities with the parallel processing capabilities of the FPGA/ASIC chip.
In the process of parsing TCP packets and UDP packets, the BOE module does not need to participate in the CPU, which can save CPU resources. The BOE module performs integrity checking, signature verification, and account balance verification on received messages such as transactions and blocks, performs fragment processing on large data to be transmitted, and encapsulates the fragments to ensure the integrity of received data. At the same time, statistics work will be performed according to the received traffic of the TCP connection, and corresponding incentives will be provided according to the system contribution.
BOE has played its own role in signature verification speed, encryption channel security, data transmission speed, network performance, and concurrent connections.
The BOE acceleration engine embeds the ECDSA module. The main purpose of this module is to improve the speed of signature verification. ECDSA is also an elliptic curve digital signature algorithm. Although it is a mature algorithm that is widely used at present, the pure software method can only be performed thousands of times per second and cannot meet the high performance requirements. So the combination of BOE and ECDSA is a good attempt.
In the process of data transmission between different nodes, BOE needs to establish an encrypted channel. In this process, it uses a hardware random number generator to implement the security of the encrypted channel, because the seed of the random number of the key exchange becomes unpredictable.
The BOE acceleration engine also uses block data fragmentation broadcasting technology. Block fragmentation includes a complete block header, which facilitates the broadcast of newly generated blocks to all nodes. With block data fragmentation, network data can be quickly transmitted between different nodes.
The BOE technology can perform traffic statistics of node connections based on hardware, and can calculate network bandwidth data provided by different nodes. Only providing network bandwidth to the system will have the opportunity to become a high contribution value node. In this way, incentives for the contribution of the nodes are provided.
In terms of concurrency, BOE is expected to maintain more than 10,000 TCP sessions and handle 10,000 concurrent sessions through an acceleration engine. BOE's dedicated parallel processing hardware replaces the traditional software serial processing functions such as transaction data broadcasting, unverified blockwide network broadcasting, transaction confirmation broadcasting, and the like.
According to HPB estimates, through the BOE acceleration engine, the session response speed and the number of session maintenance can reach more than 100 times the processing power of the common computing platform node. If the actual environment can be achieved, it is a very significant performance improvement.
Consensus algorithm for internal and external bi-level elections
HPB not only significantly improves performance through BOE, but also adopts a dual-layer internal and external voting mechanism in consensus algorithms. It attempts to achieve more efficient consensus efficiency on the premise of ensuring security and privacy.
Outer election refers to the selection of high-contribution-value node members from many candidate nodes, and the election will use node contribution value evaluation indicators. Inner-layer election refers to an anonymous voting mechanism based on a hash queue. When a block is generated, it calculates which high-contribution value node preferentially generates a block. Nodes with high priority have the right to generate blocks preferentially.
So, how to choose high contribution value node? Here is the first indicator to evaluate the contribution value. The indicators include whether a BOE acceleration engine is configured, network bandwidth contribution (data throughput over a fixed period of time), reputation, and total node token holding time. Among them, the creditworthiness of the node is obtained through the analysis of participating transactions and data analysis such as packaged blocks and transaction forwarding. The total holding time of the node token can be obtained by real-time statistics on the account information.
The outer election adopts an adaptive and consistent election plan. That is, by maintaining the consistency of “books” to ensure the consistency of outer elections, this can reduce network synchronization, and can also use the data of each node on the chain. The first is to put the above-mentioned four evaluation indicators into the block. By keeping the account books consistent, you can calculate the current ranking of all the participating candidate nodes. The higher-ranking high-contribution value nodes will become the official high contribution in the next round. Value node.
With the formal high contribution value node, the goal of the inner election is to find the high contribution value node corresponding to each block as soon as possible. The entire process is divided into three phases: nominations, statistics, and calculations. These three phases combine security, privacy, and performance.
The first is the nomination. At the beginning of the voting period, the BOE acceleration engine generates a random Commit. The high contribution value node submits its Commit, and the Commit synchronizes with the chain generated by the high-performance node. After the voting period is over, the Commit in the blockchain is started and the ticket pool is created. The last is the calculation. The calculation is mainly based on the weight algorithm to calculate the node's generation priority in the block. Generate the highest-priority high-contribution value node and obtain the block package right.
Other nodes can verify the random number and address signature according to the principle of verifiable random function, which not only guarantees security, but also guarantees the unpredictability and privacy of high contribution value nodes.
In general, HPB's consensus algorithm combines security, privacy, and speed through a combination of hardware and software. Using the BOE acceleration engine to generate random numbers, contribution value evaluation indicators, coherence ledgers, anonymous voting mechanisms, weight algorithms, signature verification, etc., privacy, reliability, security, and high efficiency are achieved.
Universal virtual machine design: support for different blockchains
The HPB virtual machine adopts a plug-in design mechanism and can support multiple virtual machines. It can implement the combination of the underlying virtual machine and upper level program language translation and support, and support the basic application of virtual machines. In addition, the external interface of the virtual machine can be realized through customized API operations, which can interact with the account data and external data.
The advantage of this mechanism is that it can realize the high performance of native code execution when the smart contract runs, and it can also implement the common virtual machine mechanism supporting different blockchains. For example, it can support Ethereum virtual machine EVM. The smart contract on EVM can also be used on HPB.
Neo's virtual machine NeoVM can also be used on HPB. When high-performance scenarios are needed, users of both EVM and NeoVM need only a few adaptations to interact with other HPB applications.
The HPB smart contract has also made some improvements, such as the management of the life cycle, auditing and forming a common template. No progress can realize the full lifecycle management of smart contracts, such as the complete and controllable process management and integration rights management mechanism for intelligent contract submission, deployment, use, and logout.
In smart contract auditing, HPB conducts a protective audit that combines automated tool auditing with professional code design. In terms of templates, HPB gradually formed a generic smart contract template to support the flexible configuration of various common business scenarios.
Incentives for a positive cycle of token economy
When the high-contribution value node generates a block, it will receive a token reward from the system. From the design of the HPB, the system will issue a token of no more than 6% per year, and the additional token will be proportional to the total number of high-contribution nodes and candidate nodes.
In order to obtain the token reward from the system, it must first become a high contribution value node, and only the high contribution value node has the right to generate a block.
In order to obtain the right to generate a block, it is necessary to contribute, including holding a certain number of HPB tokens, having a BOE hardware acceleration engine, and contributing network bandwidth to the system.
From its mechanism, we can see that HPB's token economic system design is considered from the formation of a positive incentive system. It maintains the overall HPB system by holding the HPB token, having a BOE hardware acceleration engine, and contributing network bandwidth to the system. safe operation.
HPB landing: supports a variety of high-frequency scenes
In essence, HPB is a high-performance blockchain platform and is an infrastructure where various blockchain applications can be explored. Including blockchain finance, blockchain games, blockchain entertainment, blockchain big data, blockchain anti-fake tracking, blockchain energy and many other fields.
In terms of finance, decentralized lending, decentralized asset management, etc. can all be built on the HPB platform to meet high-frequency lending and transaction scenarios.
In terms of games, although all game operations are not practical, the up-chaining and trading of assets such as game props are important scenes. Once the realization of the game product chain, you can ensure that the game assets are transparent, unique, can not be tampered with, never disappeared, etc., providing great convenience for the transaction between the game products.
Compared with traditional centralized service providers, there are many advantages. For example, there is no need to worry about the loss, confiscation, or change of virtual game products. The transaction process is also simple and convenient. Since HPB has a high-performance blockchain, it is expected to support millions of concurrents, and many high-frequency scenarios can also be satisfied.
For blockchain entertainment, it can support the securitization of star assets, such as star-related token assets. In terms of blockchain big data, it can support the data right, ensure that the data owner controls the data ownership, ensure the authenticity of the data, traceability, can not be modified, and finally realize data transactions according to the needs of different entities. , to ensure personal privacy and data security.
Based on HPB's blockchain infrastructure, based on its high performance, blockchain applications can be built in multiple scenarios. The HPB design provides a blockchain application program interface and application development package. In the HPB blockchain base layer, it provides blockchain data access and interactive interfaces, and supports various applications and development languages ​​using JSON-RPC and RESTful APIs. It also supports multi-dimensional blockchain data query and transaction submission, and the interactive access interface can be integrated with the privilege control system.
The application development package includes comprehensive functional service packages that operate on blockchains based on different development languages. For example, it provides functional interfaces such as encryption, data signature, and transaction generation, and can seamlessly support integration and function expansion of various language service systems. , supports multiple language SDKs such as Java, JavaScript, Ruby, Python, and .NET.
Conclusion
If the future blockchain wants to enter the mainstream population, it must have high-performance public-chain or infrastructure support to form a true application ecosystem. Ethereum's dream to build a decentralized ecosystem cannot be achieved on an existing basis. Ethereum is trying to improve performance and expand scalability through fragmentation, plasma, and pos consensus mechanisms.
At the same time, the current status quo has also spawned other public-linked efforts, including eos, HPB, etc. Among them, HPB has adopted a unique combination of hardware and software, dedicated BOE hardware acceleration, signature verification speed, encryption channel security, data transmission Speed, network performance, and high concurrent support all have their own advantages over simple software solutions.
In the software architecture, consensus algorithms for internal and external elections, flexible virtual machine design, application program interfaces, and development packages are also used to provide infrastructure for the development of blockchain application scenarios.
From the overall design of HPB, its goal is to provide high-performance infrastructure for the entire blockchain to mainstream people. With a high-performance infrastructure, blockchains can only be implemented in many high-frequency scenarios to create more application ecosystems and have the opportunity to reach mainstream people.
The HPB team focused on the technical background, including the founder Wang Xiaoming who was an early evangelist in the blockchain and once participated in the establishment of UnionPay Big Data, Beltal, and Beltal CTO. Co-founder CTO Xu Li has more than 10 years of experience in chip industry R&D and management. He was responsible for the logic design, R&D, and FPGA chip marketing of the core products of the world's top qualified equipment suppliers and the world's largest component distributor. Technical VP Shu Shanlin once worked for Inspur, a well-known Chinese server manufacturer, as an embedded chief engineer, and has extensive R&D experience in embedded software and underlying software. Another co-founder, Li Jinxin, is a former blockchain analyst of Guotai Junan and has extensive experience in digital asset investment.
The background of the team members is in line with the HPB's soft and hard path. According to the latest monthly report, the basic PCB layout design of the BOE board, the overall architecture design of the BOE, and the ECC acceleration scheme have also been completed. At the same time, several tests have been completed for the BOE hardware acceleration engine.
It is hoped that HPB will develop rapidly and will embark on a path with its own characteristics in the future of blockchain infrastructure competition. It will provide support for more decentralized applications and eventually build a prosperous ecosystem.
Risk Warning: All Blue Fox articles do not constitute investment recommendations, investment risks, it is recommended to conduct in-depth inspection of the project, and carefully make their own investment decisions.
Source: https://mp.weixin.qq.com/s/RSuz6R6MTotEL_U__Al_Wg
submitted by azerbajian to HPBtrader [link] [comments]

[uncensored-r/Bitcoin] ? Lightning Network Megathread ?

The following post by codedaway is being replicated because some comments within the post(but not the post itself) have been silently removed.
The original post can be found(in censored form) at this link:
np.reddit.com/ Bitcoin/comments/7pwna9
The original post's content was as follows:
This post is a collaboration with the Bitcoin community to create a one-stop source for Lightning Network information.
There are still questions in the FAQ that are unanswered, if you know the answer and can provide a source please do so!

?What is the Lightning Network? ?

Explanations:

Image Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

  • starkbot - (Elizabeth Stark - Lightning Labs)
  • roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • stile65 - (Alex Akselrod - Lightning Labs)
  • cfromknecht - (Conner Fromknecht - Lightning Labs)
  • RustyReddit - (Rusty Russell - Blockstream)
  • cdecker - (Christian Decker - Blockstream)
  • Dryja - (Tadge Dryja - Digital Currency Initiative)
  • josephpoon - (Joseph Poon)
  • fdrn - (Fabrice Drouin - ACINQ )
  • pmpadiou - (Pierre-Marie Padiou - ACINQ)

Lightning Network Experts on Twitter

  • @starkness - (Elizabeth Stark - Lightning Labs)
  • @roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • @stile65 - (Alex Akselrod - Lightning Labs)
  • @bitconner - (Conner Fromknecht - Lightning Labs)
  • @johanth - (Johan Halseth - Lightning Labs)
  • @bvu - (Bryan Vu - Lightning Labs)
  • @rusty_twit - (Rusty Russell - Blockstream)
  • @snyke - (Christian Decker - Blockstream)
  • @JackMallers - (Jack Mallers - Zap)
  • @tdryja - (Tadge Dryja - Digital Currency Initiative)
  • @jcp - (Joseph Poon)
  • @alexbosworth - (Alex Bosworth - yalls.org)

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallets

Place a testnet transaction

Altcoin Trading using Lightning

  • ZigZag - Disclaimer You must trust ZigZag to send to Target Address

Lightning on Mainnet

  • https://...
submitted by censorship_notifier to noncensored_bitcoin [link] [comments]

RetroShare Feature List

Information directly from Team Retroshare DevBlog:
RetroShare Features:
HowTo test RetroShare
ChatServer / IntroServer for making new Friends
RetroShare on Embedded Devices
From Unofficial Wiki
RetroShare on FreenodeIRC
RetroShare on Twitter
RetroShare on GitHub and SourceForge
Plugin Structure
How to Contribute
If you have questions, feel free to ask!
submitted by cavebeat to retroshare [link] [comments]

Interim update, 19th Jan 2015

Hi all,
Just a quick in-between update on what I'm up to. This weekend has primarily been spent on the libraries bitcoin-ruby and python-bitcoinlib, adding unit tests to bitcoin-ruby and pushing forward with Dogecoin support for python-bitcoinlib via the wrapper python-altcoinlib
I've also been compiling Dogecoin Core 1.8.2 for release, which means doing Gitian (deterministic) builds. Dogecoin Core 1.8.2 is based on the new OpenSSL 1.0.1l. This isn't a required update, it's primarily just for anyone installing a new copy, as the bugfixes shouldn't affect Dogecoin Core, but it's good practice to keep up to date.
I'm currently spending time on libraries as a first step in improving the tools for developers wishing to work with Dogecoin. Python-bitcoinlib wraps around the reference client (Dogecoin Core) and provides an easier to use interface to the RPC calls, for example parsing blocks and transactions before they're returned to the calling system. bitcoin-ruby is more designed as a stand-alone implementation of blockchain technology, and is used by the Toshi client software.
Longer term, I want to try further simplifying the steps involved in getting started coding with Dogecoin, both by providing more in-depth examples, and also through making the API harder to mis-use. Even as-is, though, we're one of the best supported altcoins in terms of alternative implementations (covering Java, JS, Python and Ruby at least).
Lastly, Cate main net tests have missed this weekend; unfortunately having based it on python-altcoinlib, there's changes I need in python-bitcoinlib to make everything fit together. Running a customised version locally is fine, but for getting others to help testing I really want it more working straight out of the box. I have however written more unit tests for Cate to improve code checks generally.
Ross
submitted by rnicoll to dogecoindev [link] [comments]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

Wladimir on Feb 16 2015:
Bitcoin Core version 0.10.0 is now available from:
https://bitcoin.org/bin/0.10.0/
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
The whole distribution is also available as torrent:
https://bitcoin.org/bin/0.10.0/bitcoin-0.10.0.torrent
magnet:?xt=urn:btih:170c61fe09dafecfbb97cb4dccd32173383f4e68&dn;=0.10.0&tr;=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr;=udp%3A%2F%2Fopen.demonii.com%3A1337&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrading warning
Because release 0.10.0 makes use of headers-first synchronization and parallel
block download (see further), the block files and databases are not
backwards-compatible with older versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes

Faster synchronization
Bitcoin Core now uses 'headers-first synchronization'. This means that we first
ask peers for block headers (a total of 27 megabytes, as of December 2014) and
validate those. In a second stage, when the headers have been discovered, we
download the blocks. However, as we already know about the whole chain in
advance, the blocks can be downloaded in parallel from all available peers.
In practice, this means a much faster and more robust synchronization. On
recent hardware with a decent network link, it can be as little as 3 hours
for an initial full synchronization. You may notice a slower progress in the
very first few minutes, when headers are still being fetched and verified, but
it should gain speed afterwards.
A few RPCs were added/updated as a result of this:
  • getblockchaininfo now returns the number of validated headers in addition to
the number of validated blocks.
  • getpeerinfo lists both the number of blocks and headers we know we have in
common with each peer. While synchronizing, the heights of the blocks that we
have requested from peers (but haven't received yet) are also listed as
'inflight'.
  • A new RPC getchaintips lists all known branches of the block chain,
including those we only have headers for.
Transaction fee changes
This release automatically estimates how high a transaction fee (or how
high a priority) transactions require to be confirmed quickly. The default
settings will create transactions that confirm quickly; see the new
'txconfirmtarget' setting to control the tradeoff between fees and
confirmation times. Fees are added by default unless the 'sendfreetransactions'
setting is enabled.
Prior releases used hard-coded fees (and priorities), and would
sometimes create transactions that took a very long time to confirm.
Statistics used to estimate fees and priorities are saved in the
data directory in the fee_estimates.dat file just before
program shutdown, and are read in at startup.
New command line options for transaction fee changes:
  • -txconfirmtarget=n : create transactions that have enough fees (or priority)
so they are likely to begin confirmation within n blocks (default: 1). This setting
is over-ridden by the -paytxfee option.
  • -sendfreetransactions : Send transactions as zero-fee transactions if possible
(default: 0)
New RPC commands for fee estimation:
  • estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for
a transaction to begin confirmation within nblocks. Returns -1 if not enough
transactions have been observed to compute a good estimate.
  • estimatepriority nblocks : Returns approximate priority needed for
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
enough free transactions have been observed to compute a good
estimate.
RPC access control changes
Subnet matching for the purpose of access control is now done
by matching the binary network address, instead of with string wildcard matching.
For the user this means that -rpcallowip takes a subnet specification, which can be
  • a single IP address (e.g. 1.2.3.4 or fe80::0012:3456:789a:bcde)
  • a network/CIDR (e.g. 1.2.3.0/24 or fe80::0000/64)
  • a network/netmask (e.g. 1.2.3.4/255.255.255.0 or fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
An arbitrary number of -rpcallow arguments can be given. An incoming connection will be accepted if its origin address
matches one of them.
For example:
| 0.9.x and before | 0.10.x |
|--------------------------------------------|---------------------------------------|
| -rpcallowip=192.168.1.1 | -rpcallowip=192.168.1.1 (unchanged) |
| -rpcallowip=192.168.1.* | -rpcallowip=192.168.1.0/24 |
| -rpcallowip=192.168.* | -rpcallowip=192.168.0.0/16 |
| -rpcallowip=* (dangerous!) | -rpcallowip=::/0 (still dangerous!) |
Using wildcards will result in the rule being rejected with the following error in debug.log:
 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). 
REST interface
A new HTTP API is exposed when running with the -rest flag, which allows
unauthenticated access to public node data.
It is served on the same port as RPC, but does not need a password, and uses
plain HTTP instead of JSON-RPC.
Assuming a local RPC server running on port 8332, it is possible to request:
In every case, EXT can be bin (for raw binary data), hex (for hex-encoded
binary) or json.
For more details, see the doc/REST-interface.md document in the repository.
RPC Server "Warm-Up" Mode
The RPC server is started earlier now, before most of the expensive
intialisations like loading the block index. It is available now almost
immediately after starting the process. However, until all initialisations
are done, it always returns an immediate error with code -28 to all calls.
This new behaviour can be useful for clients to know that a server is already
started and will be available soon (for instance, so that they do not
have to start it themselves).
Improved signing security
For 0.10 the security of signing against unusual attacks has been
improved by making the signatures constant time and deterministic.
This change is a result of switching signing to use libsecp256k1
instead of OpenSSL. Libsecp256k1 is a cryptographic library
optimized for the curve Bitcoin uses which was created by Bitcoin
Core developer Pieter Wuille.
There exist attacks[1] against most ECC implementations where an
attacker on shared virtual machine hardware could extract a private
key if they could cause a target to sign using the same key hundreds
of times. While using shared hosts and reusing keys are inadvisable
for other reasons, it's a better practice to avoid the exposure.
OpenSSL has code in their source repository for derandomization
and reduction in timing leaks that we've eagerly wanted to use for a
long time, but this functionality has still not made its
way into a released version of OpenSSL. Libsecp256k1 achieves
significantly stronger protection: As far as we're aware this is
the only deployed implementation of constant time signing for
the curve Bitcoin uses and we have reason to believe that
libsecp256k1 is better tested and more thoroughly reviewed
than the implementation in OpenSSL.
[1] https://eprint.iacr.org/2014/161.pdf
Watch-only wallet support
The wallet can now track transactions to and from wallets for which you know
all addresses (or scripts), even without the private keys.
This can be used to track payments without needing the private keys online on a
possibly vulnerable system. In addition, it can help for (manual) construction
of multisig transactions where you are only one of the signers.
One new RPC, importaddress, is added which functions similarly to
importprivkey, but instead takes an address or script (in hexadecimal) as
argument. After using it, outputs credited to this address or script are
considered to be received, and transactions consuming these outputs will be
considered to be sent.
The following RPCs have optional support for watch-only:
getbalance, listreceivedbyaddress, listreceivedbyaccount,
listtransactions, listaccounts, listsinceblock, gettransaction. See the
RPC documentation for those methods for more information.
Compared to using getrawtransaction, this mechanism does not require
-txindex, scales better, integrates better with the wallet, and is compatible
with future block chain pruning functionality. It does mean that all relevant
addresses need to added to the wallet before the payment, though.
Consensus library
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
The purpose of this library is to make the verification functionality that is
critical to Bitcoin's consensus available to other applications, e.g. to language
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
alternative node implementations.
This library is called libbitcoinconsensus.so (or, .dll for Windows).
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
In its initial version the API includes two functions:
  • bitcoinconsensus_verify_script verifies a script. It returns whether the indicated input of the provided serialized transaction
correctly spends the passed scriptPubKey under additional constraints indicated by flags
  • bitcoinconsensus_version returns the API version, currently at an experimental 0
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
for existing methods should remain stable.
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
While the Bitcoin protocol has always supported these types of script,
actually using them on mainnet has been previously inconvenient as
standard Bitcoin Core nodes wouldn't relay them to miners, nor would
most miners include them in blocks they mined.
bitcoin-tx
It has been observed that many of the RPC functions offered by bitcoind are
"pure functions", and operate independently of the bitcoind wallet. This
included many of the RPC "raw transaction" API functions, such as
createrawtransaction.
bitcoin-tx is a newly introduced command line utility designed to enable easy
manipulation of bitcoin transactions. A summary of its operation may be
obtained via "bitcoin-tx --help" Transactions may be created or signed in a
manner similar to the RPC raw tx API. Transactions may be updated, deleting
inputs or outputs, or appending new inputs and outputs. Custom scripts may be
easily composed using a simple text notation, borrowed from the bitcoin test
suite.
This tool may be used for experimenting with new transaction types, signing
multi-party transactions, and many other uses. Long term, the goal is to
deprecate and remove "pure function" RPC API calls, as those do not require a
server round-trip to execute.
Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
key and script operations easily accessible via command line.
Mining and relay policy enhancements
Bitcoin Core's block templates are now for version 3 blocks only, and any mining
software relying on its getblocktemplate must be updated in parallel to use
libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
If you are solo mining, this will affect you the moment you upgrade Bitcoin
Core, which must be done prior to BIP66 achieving its 951/1001 status.
If you are mining with the stratum mining protocol: this does not affect you.
If you are mining with the getblocktemplate protocol to a pool: this will affect
you at the pool operator's discretion, which must be no later than BIP66
achieving its 951/1001 status.
The prioritisetransaction RPC method has been added to enable miners to
manipulate the priority of transactions on an individual basis.
Bitcoin Core now supports BIP 22 long polling, so mining software can be
notified immediately of new templates rather than having to poll periodically.
Support for BIP 23 block proposals is now available in Bitcoin Core's
getblocktemplate method. This enables miners to check the basic validity of
their next block before expending work on it, reducing risks of accidental
hardforks or mining invalid blocks.
Two new options to control mining policy:
  • -datacarrier=0/1 : Relay and mine "data carrier" (OP_RETURN) transactions
if this is 1.
  • -datacarriersize=n : Maximum size, in bytes, we consider acceptable for
"data carrier" outputs.
The relay policy has changed to more properly implement the desired behavior of not
relaying free (or very low fee) transactions unless they have a priority above the
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
BIP 66: strict DER encoding for signatures
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
consensus rule, which prohibits non-DER signatures. Such transactions have been
non-standard since Bitcoin v0.8.0 (released in February 2013), but were
technically still permitted inside blocks.
This change breaks the dependency on OpenSSL's signature parsing, and is
required if implementations would want to remove all of OpenSSL from the
consensus code.
The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
sequence of 1001 blocks have version number 3 or higher, the new consensus
rule becomes active for those blocks. When 951 out of a sequence of 1001
blocks have version number 3 or higher, it becomes mandatory for all blocks.
Backward compatibility with current mining software is NOT provided, thus miners
should read the first paragraph of "Mining and relay policy enhancements" above.
0.10.0 Change log

Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
RPC:
  • f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
  • b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection
  • 171ca77 estimatefee / estimatepriority RPC methods
  • b750cf1 Remove cli functionality from bitcoind
  • f6984e8 Add "chain" to getmininginfo, improve help in getblockchaininfo
  • 99ddc6c Add nLocalServices info to RPC getinfo
  • cf0c47b Remove getwork() RPC call
  • 2a72d45 prioritisetransaction
  • e44fea5 Add an option -datacarrier to allow users to disable relaying/mining data carrier transactions
  • 2ec5a3d Prevent easy RPC memory exhaustion attack
  • d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
  • 83f3543 Added argument to listaccounts to include watchonly addresses
  • 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
  • d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses
  • f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation
  • 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account
  • 6c37f7f getrawchangeaddress: fail when keypool exhausted and wallet locked
  • ff6a7af getblocktemplate: longpolling support
  • c4a321f Add peerid to getpeerinfo to allow correlation with the logs
  • 1b4568c Add vout to ListTransactions output
  • b33bd7a Implement "getchaintips" RPC command to monitor blockchain forks
  • 733177e Remove size limit in RPC client, keep it in server
  • 6b5b7cb Categorize rpc help overview
  • 6f2c26a Closely track mempool byte total. Add "getmempoolinfo" RPC
  • aa82795 Add detailed network info to getnetworkinfo RPC
  • 01094bd Don't reveal whether password is <20 or >20 characters in RPC
  • 57153d4 rpc: Compute number of confirmations of a block from block height
  • ff36cbe getnetworkinfo: export local node's client sub-version string
  • d14d7de SanitizeString: allow '(' and ')'
  • 31d6390 Fixed setaccount accepting foreign address
  • b5ec5fe update getnetworkinfo help with subversion
  • ad6e601 RPC additions after headers-first
  • 33dfbf5 rpc: Fix leveldb iterator leak, and flush before gettxoutsetinfo
  • 2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option
  • f877aaa submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
  • e69a587 submitblock: Support for returning specific rejection reasons
  • af82884 Add "warmup mode" for RPC server
  • e2655e0 Add unauthenticated HTTP REST interface to public blockchain data
  • 683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server
  • 44b4c0d signrawtransaction: validate private key
  • 9765a50 Implement BIP 23 Block Proposal
  • f9de17e Add warning comment to getinfo
Command-line options:
  • ee21912 Use netmasks instead of wildcards for IP address matching
  • deb3572 Add -rpcbind option to allow binding RPC port on a specific interface
  • 96b733e Add -version option to get just the version
  • 1569353 Add -stopafterblockimport option
  • 77cbd46 Let -zapwallettxes recover transaction meta data
  • 1c750db remove -tor compatibility code (only allow -onion)
  • 4aaa017 rework help messages for fee-related options
  • 4278b1d Clarify error message when invalid -rpcallowip
  • 6b407e4 -datadir is now allowed in config files
  • bdd5b58 Add option -sysperms to disable 077 umask (create new files with system default umask)
  • cbe39a3 Add "bitcoin-tx" command line utility and supporting modules
  • dbca89b Trigger -alertnotify if network is upgrading without you
  • ad96e7c Make -reindex cope with out-of-order blocks
  • 16d5194 Skip reindexed blocks individually
  • ec01243 --tracerpc option for regression tests
  • f654f00 Change -genproclimit default to 1
  • 3c77714 Make -proxy set all network types, avoiding a connect leak
  • 57be955 Remove -printblock, -printblocktree, and -printblockindex
  • ad3d208 remove -maxorphanblocks config parameter since it is no longer functional
Block and transaction handling:
  • 7a0e84d ProcessGetData(): abort if a block file is missing from disk
  • 8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing
  • 77339e5 Get rid of the static chainMostWork (optimization)
  • 4e0eed8 Allow ActivateBestChain to release its lock on cs_main
  • 18e7216 Push cs_mains down in ProcessBlock
  • fa126ef Avoid undefined behavior using CFlatData in CScript serialization
  • 7f3b4e9 Relax IsStandard rules for pay-to-script-hash transactions
  • c9a0918 Add a skiplist to the CBlockIndex structure
  • bc42503 Use unordered_map for CCoinsViewCache with salted hash (optimization)
  • d4d3fbd Do not flush the cache after every block outside of IBD (optimization)
  • ad08d0b Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
  • 5734d4d Only remove actualy failed blocks from setBlockIndexValid
  • d70bc52 Rework block processing benchmark code
  • 714a3e6 Only keep setBlockIndexValid entries that are possible improvements
  • ea100c7 Reduce maximum coinscache size during verification (reduce memory usage)
  • 4fad8e6 Reject transactions with excessive numbers of sigops
  • b0875eb Allow BatchWrite to destroy its input, reducing copying (optimization)
  • 92bb6f2 Bypass reloading blocks from disk (optimization)
  • 2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
  • ab15b2e Avoid copying undo data (optimization)
  • 341735e Headers-first synchronization
  • afc32c5 Fix rebuild-chainstate feature and improve its performance
  • e11b2ce Fix large reorgs
  • ed6d1a2 Keep information about all block files in memory
  • a48f2d6 Abstract context-dependent block checking from acceptance
  • 7e615f5 Fixed mempool sync after sending a transaction
  • 51ce901 Improve chainstate/blockindex disk writing policy
  • a206950 Introduce separate flushing modes
  • 9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
  • 868d041 Remove coinbase-dependant transactions during reorg
  • 723d12c Remove txn which are invalidated by coinbase maturity during reorg
  • 0cb8763 Check against MANDATORY flags prior to accepting to mempool
  • 8446262 Reject headers that build on an invalid parent
  • 008138c Bugfix: only track UTXO modification after lookup
P2P protocol and network code:
  • f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
  • c30329a Add testnet DNS seed of Alex Kotenko
  • 45a4baf Add testnet DNS seed of Andreas Schildbach
  • f1920e8 Ping automatically every 2 minutes (unconditionally)
  • 806fd19 Allocate receive buffers in on the fly
  • 6ecf3ed Display unknown commands received
  • aa81564 Track peers' available blocks
  • caf6150 Use async name resolving to improve net thread responsiveness
  • 9f4da19 Use pong receive time rather than processing time
  • 0127a9b remove SOCKS4 support from core and GUI, use SOCKS5
  • 40f5cb8 Send rejects and apply DoS scoring for errors in direct block validation
  • dc942e6 Introduce whitelisted peers
  • c994d2e prevent SOCKET leak in BindListenPort()
  • a60120e Add built-in seeds for .onion
  • 60dc8e4 Allow -onlynet=onion to be used
  • 3a56de7 addrman: Do not propagate obviously poor addresses onto the network
  • 6050ab6 netbase: Make SOCKS5 negotiation interruptible
  • 604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it
  • efad808 Avoid reject message feedback loops
  • 71697f9 Separate protocol versioning from clientversion
  • 20a5f61 Don't relay alerts to peers before version negotiation
  • b4ee0bd Introduce preferred download peers
  • 845c86d Do not use third party services for IP detection
  • 12a49ca Limit the number of new addressses to accumulate
  • 35e408f Regard connection failures as attempt for addrman
  • a3a7317 Introduce 10 minute block download timeout
  • 3022e7d Require sufficent priority for relay of free transactions
  • 58fda4d Update seed IPs, based on bitcoin.sipa.be crawler data
  • 18021d0 Remove bitnodes.io from dnsseeds.
Validation:
  • 6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s
  • 584a358 Do merkle root and txid duplicates check simultaneously
  • 217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
  • f74fc9b Print input index when signature validation fails, to aid debugging
  • 6fd59ee script.h: set_vch() should shift a >32 bit value
  • d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
  • 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
  • ab9edbd script: create sane error return codes for script validation and remove logging
  • 219a147 script: check ScriptError values in script tests
  • 0391423 Discourage NOPs reserved for soft-fork upgrades
  • 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode
  • 307f7d4 Report script evaluation failures in log and reject messages
  • ace39db consensus: guard against openssl's new strict DER checks
  • 12b7c44 Improve robustness of DER recoding code
  • 76ce5c8 fail immediately on an empty signature
Build system:
  • f25e3ad Fix build in OS X 10.9
  • 65e8ba4 build: Switch to non-recursive make
  • 460b32d build: fix broken boost chrono check on some platforms
  • 9ce0774 build: Fix windows configure when using --with-qt-libdir
  • ea96475 build: Add mention of --disable-wallet to bdb48 error messages
  • 1dec09b depends: add shared dependency builder
  • c101c76 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
  • e432a5f build: add option for reducing exports (v2)
  • 6134b43 Fixing condition 'sabotaging' MSVC build
  • af0bd5e osx: fix signing to make Gatekeeper happy (again)
  • a7d1f03 build: fix dynamic boost check when --with-boost= is used
  • d5fd094 build: fix qt test build when libprotobuf is in a non-standard path
  • 2cf5f16 Add libbitcoinconsensus library
  • 914868a build: add a deterministic dmg signer
  • 2d375fe depends: bump openssl to 1.0.1k
  • b7a4ecc Build: Only check for boost when building code that requires it
Wallet:
  • b33d1f5 Use fee/priority estimates in wallet CreateTransaction
  • 4b7b1bb Sanity checks for estimates
  • c898846 Add support for watch-only addresses
  • d5087d1 Use script matching rather than destination matching for watch-only
  • d88af56 Fee fixes
  • a35b55b Dont run full check every time we decrypt wallet
  • 3a7c348 Fix make_change to not create half-satoshis
  • f606bb9 fix a possible memory leak in CWalletDB::Recover
  • 870da77 fix possible memory leaks in CWallet::EncryptWallet
  • ccca27a Watch-only fixes
  • 9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
  • a53fd41 Deterministic signing
  • 15ad0b5 Apply AreSane() checks to the fees from the network
  • 11855c1 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
GUI:
  • c21c74b osx: Fix missing dock menu with qt5
  • b90711c Fix Transaction details shows wrong To:
  • 516053c Make links in 'About Bitcoin Core' clickable
  • bdc83e8 Ensure payment request network matches client network
  • 65f78a1 Add GUI view of peer information
  • 06a91d9 VerifyDB progress reporting
  • fe6bff2 Add BerkeleyDB version info to RPCConsole
  • b917555 PeerTableModel: Fix potential deadlock. #4296
  • dff0e3b Improve rpc console history behavior
  • 95a9383 Remove CENT-fee-rule from coin control completely
  • 56b07d2 Allow setting listen via GUI
  • d95ba75 Log messages with type>QtDebugMsg as non-debug
  • 8969828 New status bar Unit Display Control and related changes
  • 674c070 seed OpenSSL PNRG with Windows event data
  • 509f926 Payment request parsing on startup now only changes network if a valid network name is specified
  • acd432b Prevent balloon-spam after rescan
  • 7007402 Implement SI-style (thin space) thoudands separator
  • 91cce17 Use fixed-point arithmetic in amount spinbox
  • bdba2dd Remove an obscure option no-one cares about
  • bd0aa10 Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
  • 94e1b9e Re-work overviewpage UI
  • 8bfdc9a Better looking trayicon
  • b197bf3 disable tray interactions when client model set to 0
  • 1c5f0af Add column Watch-only to transactions list
  • 21f139b Fix tablet crash. closes #4854
  • e84843c Broken addresses on command line no longer trigger testnet
  • a49f11d Change splash screen to normal window
  • 1f9be98 Disable App Nap on OSX 10.9+
  • 27c3e91 Add proxy to options overridden if necessary
  • 4bd1185 Allow "emergency" shutdown during startup
  • d52f072 Don't show wallet options in the preferences menu when running with -disablewallet
  • 6093aa1 Qt: QProgressBar CPU-Issue workaround
  • 0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true)
  • ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
  • e7876b2 [Wallet] Prevent user from paying a non-sense fee
  • c1c9d5b Add Smartfee to GUI
  • e0a25c5 Make askpassphrase dialog behave more sanely
  • 94b362d On close of splashscreen interrupt verifyDB
  • b790d13 English translation update
  • 8543b0d Correct tooltip on address book page
Tests:
  • b41e594 Fix script test handling of empty scripts
  • d3a33fc Test CHECKMULTISIG with m == 0 and n == 0
  • 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag
  • 6380180 Add rejection of non-null CHECKMULTISIG dummy values
  • 21bf3d2 Add tests for BoostAsioToCNetAddr
  • b5ad5e7 Add Python test for -rpcbind and -rpcallowip
  • 9ec0306 Add CODESEPARATOFindAndDelete() tests
  • 75ebced Added many rpc wallet tests
  • 0193fb8 Allow multiple regression tests to run at once
  • 92a6220 Hook up sanity checks
  • 3820e01 Extend and move all crypto tests to crypto_tests.cpp
  • 3f9a019 added list/get received by address/ account tests
  • a90689f Remove timing-based signature cache unit test
  • 236982c Add skiplist unit tests
  • f4b00be Add CChain::GetLocator() unit test
  • b45a6e8 Add test for getblocktemplate longpolling
  • cdf305e Set -discover=0 in regtest framework
  • ed02282 additional test for OP_SIZE in script_valid.json
  • 0072d98 script tests: BOOLAND, BOOLOR decode to integer
  • 833ff16 script tests: values that overflow to 0 are true
  • 4cac5db script tests: value with trailing 0x00 is true
  • 89101c6 script test: test case for 5-byte bools
  • d2d9dc0 script tests: add tests for CHECKMULTISIG limits
  • d789386 Add "it works" test for bitcoin-tx
  • df4d61e Add bitcoin-tx tests
  • aa41ac2 Test IsPushOnly() with invalid push
  • 6022b5d Make script_{valid,invalid}.json validation flags configurable
  • 8138cbe Add automatic script test generation, and actual checksig tests
  • ed27e53 Add coins_tests with a large randomized CCoinViewCache test
  • 9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
  • dcb9846 Extend getchaintips RPC test
  • 554147a Ensure MINIMALDATA invalid tests can only fail one way
  • dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
  • 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
  • 16d78bd Add valid invert of invalid every numeric opcode tests
  • f635269 tests: enable alertnotify test for Windows
  • 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
  • 5122ea7 tests: fix forknotify.py on windows
  • fa7f8cd tests: remove old pull-tester scripts
  • 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts
  • f4e0aef Do signature-s negation inside the tests
  • 1837987 Optimize -regtest setgenerate block generation
  • 2db4c8a Fix node ranges in the test framework
  • a8b2ce5 regression test only setmocktime RPC call
  • daf03e7 RPC tests: create initial chain with specific timestamps
  • 8656dbb Port/fix txnmall.sh regression test
  • ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation
  • 7357893 Prioritize and display -testsafemode status in UI
  • f321d6b Add key generation/verification to ECC sanity check
  • 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test
  • bc6cb41 QA RPC tests: Add tests block block proposals
  • f67a9ce Use deterministically generated script tests
  • 11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections)
  • 34318d7 RPC-test based on invalidateblock for mempool coinbase spends
  • 76ec867 Use actually valid transactions for script tests
  • c8589bf Add actual signature tests
  • e2677d7 Fix smartfees test for change to relay policy
  • 263b65e tests: run sanity checks in tests too
Miscellaneous:
  • 122549f Fix incorrect checkpoint data for testnet3
  • 5bd02cf Log used config file to debug.log on startup
  • 68ba85f Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
  • e5ee8f0 Remove -beta suffix
  • 38405ac Add comment regarding experimental-use service bits
  • be873f6 Issue warning if collecting RandSeed data failed
  • 8ae973c Allocate more space if necessary in RandSeedAddPerfMon
  • 675bcd5 Correct comment for 15-of-15 p2sh script size
  • fda3fed libsecp256k1 integration
  • 2e36866 Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
  • cd01a5e Enable paranoid corruption checks in LevelDB >= 1.16
  • 9365937 Add comment about never updating nTimeOffset past 199 samples
  • 403c1bf contrib: remove getwork-based pyminer (as getwork API call has been removed)
  • 0c3e101 contrib: Added systemd .service file in order to help distributions integrate bitcoind
  • 0a0878d doc: Add new DNSseed policy
  • 2887bff Update coding style and add .clang-format
  • 5cbda4f Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
  • b4a72a7 contrib/linearize: split output files based on new-timestamp-year or max-file-size
  • e982b57 Use explicit fflush() instead of setvbuf()
  • 234bfbf contrib: Add init scripts and docs for Upstart and OpenRC
  • 01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw
  • d6712db Also create pid file in non-daemon mode
  • 772ab0e contrib: use batched JSON-RPC in linarize-hashes (optimization)
  • 7ab4358 Update bash-completion for v0.10
  • 6e6a36c contrib: show pull # in prompt for github-merge script
  • 5b9f842 Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
  • 4e7c219 Catch UTXO set read errors and shutdown
  • 867c600 Catch LevelDB errors during flush
  • 06ca065 Fix CScriptID(const CScript& in) in empty script case
Credits

Thanks to everyone who contributed to this release:
  • 21E14
  • Adam Weiss
  • Aitor Pazos
  • Alexander Jeng
  • Alex Morcos
  • Alon Muroch
  • Andreas Schildbach
  • Andrew Poelstra
  • Andy Alness
  • Ashley Holman
  • Benedict Chan
  • Ben Holden-Crowther
  • Bryan Bishop
  • BtcDrak
  • Christian von Roques
  • Clinton Christian
  • Cory Fields
  • Cozz Lovan
  • daniel
  • Daniel Kraft
  • David Hill
  • Derek701
  • dexX7
  • dllud
  • Dominyk Tiller
  • Doug
  • elichai
  • elkingtowa
  • ENikS
  • Eric Shaw
  • Federico Bond
  • Francis GASCHET
  • Gavin Andresen
  • Giuseppe Mazzotta
  • Glenn Willen
  • Gregory Maxwell
  • gubatron
  • HarryWu
  • himynameismartin
  • Huang Le
  • Ian Carroll
  • imharrywu
  • Jameson Lopp
  • Janusz Lenar
  • JaSK
  • Jeff Garzik
  • JL2035
  • Johnathan Corgan
  • Jonas Schnelli
  • jtimon
  • Julian Haight
  • Kamil Domanski
  • kazcw
  • kevin
  • kiwigb
  • Kosta Zertsekel
  • LongShao007
  • Luke Dashjr
  • Mark Friedenbach
  • Mathy Vanvoorden
  • Matt Corallo
  • Matthew Bogosian
  • Micha
  • Michael Ford
  • Mike Hearn
  • mrbandrews
  • mruddy
  • ntrgn
  • Otto Allmendinger
  • paveljanik
  • Pavel Vasin
  • Peter Todd
  • phantomcircuit
  • Philip Kaufmann
  • Pieter Wuille
  • pryds
  • randy-waterhouse
  • R E Broadley
  • Rose Toomey
  • Ross Nicoll
  • Roy Badami
  • Ruben Dario Ponticelli
  • Rune K. Svendsen
  • Ryan X. Charles
  • Saivann
  • sandakersmann
  • SergioDemianLerner
  • shshshsh
  • sinetek
  • Stuart Cardall
  • Suhas Daftuar
  • Tawanda Kembo
  • Teran McKinney
  • tm314159
  • Tom Harding
  • Trevin Hofmann
  • Whit J
  • Wladimir J. van der Laan
  • Yoichi Hirai
  • Zak Wilcox
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
Also lots of thanks to the bitcoin.org website team David A. Harding and Saivann Carignan.
Wladimir
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-February/007480.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

TRUSTplus android-wallet and TRUST contracts?! Official announcement?!

Hey! Welcome to our official announcement!! Thank you for your continued support of TRUSTplus!
It's been great reflecting on the last couple of weeks and seeing that we have so many supporters interested in the success of this coin!
Oh, and once again, thank you for your patience!
A few things first.
I am happy to see that the TRUST market has continued to experience steady and sustained growth! Since our last announcement, we have seen peak values up ~5 times compared to August 20th and ~13 times higher than those in August 15th! It is good to see the market responding well to our continued development efforts!
When you think about it, we are doing something special with this coin. We are not only proving that you can TRUST the efforts of the TRUSTplus coin developers, we are continuing to bring transparency and legitimacy, TRUST, to the alt-coin community!!
In fact, as of September 14, 2014 CryptoAsian has given us a 5 out 5 score for our proof-of-dev!! http://cryptoasian.com/trust-trustplus
It is great to see the continued support our dev team is receiving by everyone who has chosen to like and follow our efforts!! The TRUSTplus Facebook page now has a reach measured by Facebook at over 8,474 (nearly 8 times the reach since our last announcement)! https://www.facebook.com/TRUSTplusCoin
The community support has been so great that TRUSTplus has been added to the Preliminary list of Coins to be included in the Casheer platform!! http://forum.casheer.net/viewtopic.php?f=30&t=55
Oh, and please don't forget to check out and like our Facebook page!! https://www.facebook.com/TRUSTplusCoin
Ok, now to the more technical news.
http://cryptoasian.com/trust-trustplus/ http://trustplus.com/wp-content/uploads/2014/09/PODSlider.png http://forum.casheer.net/viewtopic.php?f=30&t=55 https://pbs.twimg.com/media/BxQTOyGCYAAqgrj.jpg
TRUSTplus Android Wallet
I have said that I would develop an android wallet for TRUSTplus and I mentioned that in order to do so I would need to fork and port trustplus-wallet and trustpluscoinj. https://github.com/stafutrustplus-wallet https://github.com/stafutrustpluscoinj
Today I am happy to announce that we have the trustplus-wallet available as a packaged apk built and installed in both emulated and live android environments! The apk can generate Trustplus addresses and private keys accepted by the trustplus peer network, and is currently in pre-release beta on the peer network! http://trust.blockexplorer.cc/tx/61b457c3d22df61e0ef5d63179261b09e411a101347c4bface13f254401780da#o1
That is, today I have the trustpluscoinj library communicating with the TRUSTplus peer network, have the wallet running in a live android environment, can pull blocks from the blockchain, and generate trustplus addresses & key pairs that can send/receive coins!! Please email me, [email protected], if you are interested in testing the pre-release beta version of the wallet.
You can feel free to scan the QR code that is part of the screenshot below to verify its authenticity. http://i.imgur.com/Y0FRF2Z.png http://imgur.com/a/CRdic/all
Automatic Transactions in the Android Wallet
I have also validated the planned implementation and proof of concept for privacy enhancing automatic transactions!! The work that builds on the white-paper we released on how Automatic Transactions will enhance the privacy of your TRUSTplus transactions!! https://www.dropbox.com/s/l4sj4wotomorlq8/OnTrustPlusAutomaticTransactions-07-2014.pdf?dl=0
pyTRUST In the previous announcement I informed you of my efforts to make it easier for merchants/service providers to use TRUST. I am happy to announce that I am also making excellent progress in developing that architecture!!
So far I have been able to interface to the first (PostgreSQL) of the three SQL databases that will be supported by pyTRUST. I have identified pycoin and trustplus-python as the modules which I will port/extend to pyTRUST for managing raw transactions. I will be using trustplus-python to implement raw/automatic transactions and interface with the TRUSTplus daemon via RPC. I will be using pycoin to directly connect to the trustplus peer network for lower level management raw transactions.
You might ask, "why two raw transaction interfaces to the trust plus peer network?".
The answer to that question is as follows: We will continue implementing raw transactions that are be designed to support payments (traditional user of coins) and contracts. But we can do better!!
We are moving towards TRUSTplus 2.0, contracts!!
That is, pyTRUST will facilitate the generation, execution, and evaluation of decentralized contracts!!
One example (of many), imagine that a user wanted to open an account via some web service, and wanted to establish some TRUSTworthiness with the web-service provider, but has no preexisting reputation to leverage.
Well, what if that user could buy TRUST from the web-service?! That would be the first part/start of the contract!!
Now, lets say that at some point the user closed their web-service account. In that case they'd probably like some if not all of the TRUST they bought from the web-service to be made available for them to use freely; without having to worry about the web-service spending the TRUST in the contract, or the risk is that the web-service might just disappear one day!!
On the other hand, if the user turns out to be abusive, the web-service would not allow an early close of the contract. If too much abuse is getting through, the size of the deposit can be raised, andor the length of the contract can be increased. That would be the second part of the contract!!
You can learn more about contracts at the reference below: https://en.bitcoin.it/wiki/Contracts
With TRUSTplus and pyTRUST I will be working to develop novel, custom, and legally sound decentralized TRUST contracts!!
I am very confident that pyTRUST will provide merchants/service providers with the ability to easily and seamlessly use TRUST to carry out transactions!! These modules will allow any website/htmlform to use the pyTRUST cgi based python class!
Oh, and two more things.
Paypal and Market API implementation!!
https://www.paypalobjects.com/webstatic/mktg/logos/AM_mc_vs_dc_ae.jpg https://bittrex.com/Content/img/logo-black-bittrex.png
Not only will pyTRUST support contracts and be able to interface with commonly used SQL databases, like PostgreSQL, MySQL, and SQLite; we are adding PayPal and market exchange support to pyTRUST!!!
As part of the development phase of TRUSTplus, we will be implementing the PayPal RESTful interface and bittrex-python api!!. As always, please do not hesitate to contact us if you have any comments, questions, and/or concerns!
http://i.imgur.com/BfmZbyD.png http://i.imgur.com/OL5AXNB.png
submitted by stafur to altcoin [link] [comments]

Bitcoin JSON-RPC Tutorial 1 Bitcoin JSON-RPC Tutorial 3 - bitcoin.conf Programming Bitcoin-qt using the RPC api (1 of 6) Bitcoin JSON-RPC Tutorial 4 - Command Line Interface Bitcoin JSON-RPC Tutorial 6 - JSON Parameters and Errors

See the proper money handling page for notes on avoiding rounding errors when handling bitcoin values. Languages Python. python-jsonrpc is the official JSON-RPC implementation for Python. It automatically generates Python methods for RPC calls. However, due to its design for supporting old versions of Python, it is also rather inefficient. python-bitcoinrpc. AuthServiceProxy is an improved version of python-jsonrpc. It includes the following generic improvements: HTTP connections persist for the life of the AuthServiceProxy object; sends protocol 'version', per JSON-RPC 1.1; sends proper, incrementing 'id' uses standard Python json lib; can optionally log all RPC calls and results Bitcoind – a daemon program that implements the Bitcoin protocol, is controlled through the command line. It is one of the main components of the Bitcoin network node software. Bitcoin software exists in two forms: a GUI application and a background application (daemon on Unix, service on Windows). On the other side, bitcoin-cli looks up your rpc connection information in the bitcoin configuration file, makes an http connection to the server, encodes the method name and parameters you specify on the command line as JSON, makes a specially formed http request which includes this data, decodes the resulting JSON data from the http response Kaiko RPC Messages Python Sample Code: The Kaiko RPC Messages Python Sample Code demonstrates how to access the API to implement messages that should be in JSON format. The client should expect a reconnect message at some point and will... Bitcoin: 06.02.2020: Kaiko RPC Messages Curl Sample Code

[index] [11182] [7426] [24764] [21459] [11999] [18931] [16979] [2362] [13768] [23814]

Bitcoin JSON-RPC Tutorial 1

Building Bitcoin Software From Source Code - Duration: 22:42. Edge 28,048 views. 22:42. Bitcoin JSON-RPC Tutorial 5 - Your First Calls ... Python Bitcoin Tutorial for Beginners ... Bitcoin JSON-RPC tutorial. Set up your bitcoin.conf file and create custom settings with bitcoind. BTC: 1NPrfWgJfkANmd1jt88A141PjhiarT8d9U. Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 first (M.Atamel, R.Tsang) - Duration: 49:32. Voxxed Days Luxembourg 22,661 views 49:32 REST API concepts and examples ... Imperial College London Recommended for you. 18:39. Bitcoin JSON-RPC Tutorial 4 - Command ... 29:37. Google Python Class Day 1 Part 1 - Duration: 51:37 ... Bitcoin JSON-RPC Tutorial 5 - Your First Calls - Duration: 10:06. m1xolyd1an 11,288 views. ... Python Bitcoin Tutorial for Beginners - Duration: 18:04. m1xolyd1an 67,255 views.

Flag Counter