BitcoinAverage APIv2 Reference

Tokenview API Helps Developers and Exchanges Easily Access Crypto/BTC Transaction Confirmations

What is Transaction Confirmation?

Whether it is Bitcoin, Ethereum, or other public chains, when it comes to transaction searching, it will confirm whether the transaction is effective on the chain through the confirmation number. When an exchange newly adds a blockchain to a block, the number of confirmations of the transaction is 1, and then for each additional block, the number of confirmations of the transaction increases by 1. The more confirmations, the less likely the transaction will be tampered with on the blockchain. Many exchanges will confirm the number of confirmations when determining whether the recharge is in the account, and the confirmation number of different public chains is different.
So, how to get the confirmation number of a transaction? The confirmation number API service provided by Tokenview can quickly and easily retrieve the confirmation number data.
Through the public chain abbreviation and transaction HASH (hash), get the confirmation number of a transaction:
http://www.tokenview.com:8088/tx/confirmation/{public chain abbreviated lower case}/{transaction hash}. For details, please refer to the Tokenview API documentation.
Sample confirmation request.
Request: curl --location --request GET:'http://www.tokenview.com:8088/tx/confirmation/eth/0x914443ef1e9028e031ace86264593afc4d03fbdb77725ef92bcd75b2f9a8df26'
Response: 200-OK
Tokenview API supports data retrieval of more than 100 crypto confirmations.
submitted by Doris333 to u/Doris333 [link] [comments]

Public CodeValley/Emergent Consensus questioning and investigation Thread. Ask your hard questions and dispel your doubts here.

What is going on here?
I am asking some hard questions for the CodeValley Company, which recently proposed a new revolutionary software development paradigm called Emergent Coding at the latest big Bitcoin Cash conference in Australia.
I am asking these questions because, as I (and ~150 people who agreed with me) noticed, there are stunning similarities between CodeValley and the companies who have tried and succeeded in crippling Peer-To-Peer Electronic Cash: nChain and Blockstream.
According to me, as it looks now, similarities between these 3 companies (nChain, Blockstream, CodeValley) are the following:
}- Sources of funding are extremely unclear or openly hostile to Bitcoin
}- At first and even second glance, there is no product, no way to make money
}- Whitepaper & Documentation is missing, hollow or total abstract bullshit, company has no logical sense of existence
}- Detailed specifications or proofs of operation are not available
}- Main products are closed-source patented blobs (BSV, Liquid, Emergent Coding)
}- They have huge influences in the industry or try to establish themselves in such position to have the infuences
I am here (and you are here, I assume) because we want to find out the truth, whatever the truth is. The point of this topic is to ask the hardest possible questions in order to estimate the probability of CodeValley company being legit.
But this is also a chance for CodeValley to clear their name by providing sufficient information that proves that (after 4 years of having working company and 10+ years of having patents [Archived]) they actually have a working product and are a legit company, and not an infiltrator designed and paid by banks/TPTB in order to cripple and destroy Bitcoin Cash. Also if they truly are what they claim and they truly have such a revolutionary technology, this is a great opportunity for promotion. To show the world that the tech actually works.
I will ask my questions and you can ask your questions as well. Don't make them easy. Don't have mercy (but these things work better when you are polite).
Let's begin the trial by fire!
Calling nlovisa
My Questions/Tasks for CodeValley:
[Of course you actually don't have to answer any of them or you can give us bullshit answers again, but in such case the community may conclude that you actually are next nChain/Blockstream and an enemy infiltrator, reject you and shoot down all your efforts. So the choice is yours]
@@@@ 1. Please upload your actual businessplan which you presented to the people in power who gave you funding(VCs? Government?) to create $50 Million BCH tech park. A businessplan which is supposed to explain spending of $50 million AUD should have at least 7 pages (but more probably 20+). Some names and unimportant details (but NOT money/financial numbers) can be redacted.
-- You have 6 hours to complete this task --
@@@@ 2. Please list your current VCs and >%5 shareholders, with CEO names and HQ locations of each of them.
-- You have 4 hours to complete this task --
@@@@ 3. Few days ago you promised to upload freely-accessible documentation to https://codevalley.com/docs subpage which would describe emergent coding in greater details.
@ - What happened to that promise?
@@@@ 4. After I accused that your company is bullshit and your product is hollow, you immediately started to praise me and offered me a trip to Australia [Archived].
@ - So, do you always praise and offer a paid trip across the world to Australia to all people on the Internet who heavily criticize you? Is this a common practice in your company?
@@@@ 5. A travel from Poland to Australia and back would cost something under $2000 AUD, counting buses, with hotels that would make something close to $2500 AUD even for few days. Based on this, I estimate your "invite random people from the internet to Australia in order to show them the product" budget has to consist of at least $50.000 AUD yearly (but $100.000 - $200.000 is more probable of course).
@ A) In your financial books, what exactly is called the Excel position of your budget expenses under which would your secretary put my trip's expenses?
@ B) How do you maintain such a large budget for such frivolous spending and how do you explain it to your shareholders/VCs?
@@@@ 6. Few days ago you answered somebody a question: "The trust model is also different. The bulk of the testing happens before the project is designed not after. Emergent Coding produces a binary with very high integrity and arguably far more testing is done in emergent coding than in incumbent methods you are used to.".
@ A) Who EXACTLY does the testing? People? Software? AI? Non-bullshit answer, please.
@ B) Why exactly is there "more testing" in Emergent Coding than in normal software creation paradigm? Why is emergent coding different? Do the developers who work in this paradigm are somehow special? Are the programming languages magical?
@ C) What are the specific software tools used for this "testing"? "Agents" is a non-answer, so don't even try.
@@@@ 7. Please provide a simple demo binary of a simple program created completely using your "Emergent Coding" and also provide all the binary sub-component files that make up the final binary.
Requirements: There has to be a minimum of 3 sub - binaries making up the final big binary for this to be valid. 2 or less does not count. None of the binaries can be obfuscated, they have to be clean X86/X86_64 machine code binaries.
Notes: It should be incredibily simple, quick and easy task for you, since designing such a complex and apparently breakthough system must have required thousands, tens of thousands if not hundereds of thousands tests. All of these tests produced working binaries - after all you wouldn't claim you have a working marvellous revolutionary product without extensive testing, right?
-- You have 18 hours for this task --
Of course, If you are saying the truth and have truly developed this revolutionary "emergent coding" binary-on-the-fly-merging technology, this should normally take you under 18 minutes to just find the test samples and upload them.
@@@@ 8. Please construct a simple (binary or source) single-use-compiler demo that will combine 3 or more sub-binaries into final working product. Please upload the sub-binaries and the "single-use compiler" to publicly available site so people in our community can verify that your product is actually working.
The single-use-compiler binary can be obfuscated with proper tool in order to hide your precious intellectual property. The 3 sample sub-binaries cannot be obfuscated. They have to be pure, clean, binary X86/X86_64 machine code. Everything has to be working and verifable of course.
-- You have 72 hours to complete this task --
I understand all your technologies are patented with patents that basically predate Bitcoin and you are giving us obfuscated binaries, so you don't have to worry about anybody stealing your company's intellectual property, right?
@@@@ 9. You mentioned the only application I need to create programs using Emergent Coding is the pilot app.
@ - What programming language(s) is the pilot app written in?
@@@@ 10. When you developed the Emerging Coding, before it started existing, you couldn't have used emergent coding to create the first (test & development) applications because it is a chicken and egg problem.
@ - What programming language did you use to create first client/serveapi/daemon/tool used to merge multiple binaries into one in Emergent Coding?
@@@@ 11. Please list all of your current programmers and programming language each of them is using next to their name. Also provide LinkedIn profiles if applicable.
-- You have 18 hours to complete this task --
@@@@ 12. Please also list all Development Environments (IDEs) used by your current programmers next to their name.
-- You have 18 hours to complete this task --
@@@@ 13. Please list all compilers used by your current programmers next to their name.
-- You have 18 hours to complete this task --
@@@@ 14. So if I understand correctly CodeValley will be the company who runs $50 million BCH tech park and the tech will house multiple Bitcoin Cash-related startup and companies. Let's say I have a BCH startup and I would like to rent a loft/spot in your "tech park".
A) Please provide a PDF of sample basic contract you have (hopefully) prepared for such startups.
-- You have 4 hours to complete this task --
B) How much does the rent cost per a room (or m2/sqft) for a month and for a year?
@@@@ 15. Please submit the list of compilers that produce X86/X86_64/ARM binaries compatibile with Emergent Coding "mash-it-together" "binary compiler".
-- You have 4 hours to complete this task --
@@@@ 16. Is it possible for Emergent Coding to merge multiple non-binary applications (like Python or PHP programs) together? Or is it just binaries?
Who are you?
I am a freedom thinker and individual independent from all infuences who just does what he finds appropriate at the moment. Disclaimer to preempt questions:
}- I do not work for anybody
}- I do not have any hidden agenda
}- I am only doing what I think is right
}- I am a born revolutionist, this is why I am in Bitcoin
Why are you doing this?
}- Because I believe in truth above all. Truth will save us.
}- Because I believe in Satoshi's peer-to-peer cash for the world vision and I will not stray from this path.
}- Because most people are apparently missing psychological immune system which is why attempts like Blockstream, nChain appear and are repetedly [at least partially] successful. I have an anti-bullshit immune system that works great against this type of attacks. I was actually one of the first to be banned in /Bitcoin sub for pointing out their lies with manipulations and to spot Craig Wright's attempt to infiltrate and bend /btc sub to his will..
}- Because I was fooled twice by entities similar to CodeValley before (namingly nChain and Blockstream) and I will not be fooled again. Bitcoin Cash will not be co-opted easily as long as I am here.
}- Because if Bitcoin Cash community is an organism, then I became a B lymphocyte cell. I produce antibodies. I show you how to defend yourself from bullshit, lies and manipulation. This is my basic function.
}- Because I am here to kill the bank
submitted by ShadowOfHarbringer to btc [link] [comments]

[How To]Full Node (Beta) + GUI + Staking on Raspberry PI 3

Hello everyone,
With the Full Node Beta recently being released on 3/28 and the Full Node GUI on 4/11, I thought it would be an excellent time to update the RPi tutorial by olcko and demon for the RPi. I've been running it now for about 1 week and it has been working great so far, but I haven't been connected to many peers running the full node. Hopefully this tutorial will help change that!
This tutorial will take over from the previous tutorial's step 4. Steps 1-3 cover installing Raspbian and SSH on the RPi and are excellent.
PREREQUISITES
FULL NODE Setup
mkdir StratisFullNode
cd StratisFullNode
git clone https://github.com/stratisproject/StratisBitcoinFullNode.git
cd StratisBitcoinFullNode
git submodule update --init --recursive
cd src
restore
build
cd Stratis.StratisD
run -apiuri=http://0.0.0.0:32771
The "apiuri" option enables access to the API from another device on your network (Thanks Daan Damhuis!).
That's it! Your node should be running now, but may take a while to sync. You can test the node's API by pointing your browser to http://:37221/swagge
If you don't plan on using RPC, make sure you follow the instructions from the previous tutorial step 3 to block RPC connections.
sudo ufw deny 16174
Full Node GUI Setup
Now that the Core Daemon is running, we can install the GUI frontend. We will be following the instructions from here. The GUI that interacts with the node can be installed on the RPi or another device on your network (with some tweaks to the underlying code, below).
cd ~/StratisFullNode
git clone https://www.github.com/stratisproject/FullNodeUI
cd FullNodeUI/FullNodeUI.UI
npm run mainnet
That's it! Go ahead and set up your new wallet!
Remote GUI Tweaks
I'm adding this section for RPi owners who don't run a GUI on their RPi device, but may want to run the GUI on another device on their network. This can be done because the GUI interacts with the full node through the API; however it will take some tweaks to the code before compiling to make this set-up work. The instructions for "Full Node GUI Setup" above should be run on that device.
There is one place in the code where you need to replace "localhost" with your RPi's local private network IP address.
  • src/app/shared/services/api.service.ts#38
this.stratisApiUrl = 'http://:' + this.apiPort + '/api';
You will also need to comment out a few sections to prevent the GUI from starting up or shutting down the full node when you open/close the GUI.
  • main.ts#86
//startStratisApi();
  • main.ts#96
//closeStratisApi();
Helpful RPi tips for remote management
  • Use Screen + SSH! Screen is a wonderful utility that will leave your session running when you disconnect from ssh. This is available via sudo apt-get install screen on your RPi. You can reconnect when you return at another ssh session with:
screen -x
  • Sometimes the full node on your RPi will hang or unexpectedly crash - stopping staking in the process. Borrowing from here, I have created a script that will monitor for hangs or crashes and restart the node.
  • If the node is restarted, you will still need to re-enable staking. This can be accomplished through the GUI, a browser using swagger, or with an API call through a local script (insecure).
Sample helper scripts, including a .screenrc configuration, for the above can be found in a pastebin here.
Example API calls can be found on the full node's swagger API interface.
  • Note: your wallet passphrase must be sent via POST to re-enable staking.
I hope you found this helpful!
Please feel free to message me with questions/errors/improvements or find me on the discord/telegram as @TjadenFroyda. I'll update this post with feedback.
Donations are welcome as well: SNSwQVvB5FB6KPVT7325tJGWXbxVd4xceR
submitted by gopherdoc to stratisplatform [link] [comments]

Qtum GitHub Development Guide

(translated from original on WeChat https://mp.weixin.qq.com/s/ArCd9K8RwVm4g6LKQqAhlQ)
This article will serve as a quick start guide for Qtum developers to develop projects that use Qtum on GitHub.
What is Qtum?
The official developer described Qtum as a decentralized blockchain project that supports smart contracts based on the UTXO model integrated into Qtum's unique Account Abstraction Layer.
Qtum Developer
No matter what product or technical tool you want to develop with Qtum's technical tools, you'll find development tools that will help you get the most out of it. This article will guide you through the basic setup, including setting up a local Qtum network, and will give you a number of tool features, such as showing how to connect to the test network for more detailed testing, how to connect to the main network when preparing for deployment, with QRC20 tokens for example, using a smart contract to issue tokens.
For Qtum developers, the most useful part is how to use the Qtum JS library to manipulate the parts of the smart contract, and even more cool is to use React to create a simple DAPP part.
Read through the entire guide for development in the Qtum environment. http://book.qtum.site/en/
I believe that after using Qtum's series of tools, you will be more interested in exploring Qtum's content and projects for developers. Let's take a look at some of the key GitHub projects that Qtum offers.
Qtum GitHub Developer Project
The following Qtum development tools are very useful for the development of any Qtum DAPP or Qtum-related projects.
Qtum Boilerplate Project
An introductory project created by Qtum developers to help you get started creating DAPPs on Qtum. Follow the code repository instructions to gain insight into many aspects of Qtum and what it means to create a Qtum DAPP. https://github.com/qtumproject/dApp-boilerplate
Qtum Docker
For developers involved in Qtum development, the Qtum docker project is very important. The Qtum team created a docker image so that all developers can run the Qtum network locally, and any operating system is available from the docker hub.
So, if you have already downloaded docker, congratulations, you are already advanced. (If you need help setting up your Qtum regtest environment, you can see the instructions in the connection guide, which explains in detail how to set up the environment: https://steemit.com/qtum/@cryptomindeqtum-blockchain-development-environment-setup)
regtest is easy to use and provides a better understanding of how Qtum works, and whether it's a smart contract or DAPP, it's a key tool for testing projects. https://github.com/qtumproject/qtum-docker
Qmix
Developed as a Qtum version of Ethereum’s remix, Qmix is ​​a browser-based IDE that lets you write the right smart contracts.
Not only can you write contracts and ensure correctness, but you can also deploy and interact directly with the Qmix UI. In order to be able to deploy and interact with smart contracts, you need to connect to the Qtum network. Click on the application's help options to find instructions on how to connect your Qmix to your local regtest network. Once connected, you can thoroughly test smart contracts before actually deploying to the main network. If you plan to develop Qtum DAPPs, you will most likely need to be familiar with this tool.
Qmix was developed as a Qtum contract, so the GitHub repository for this project is not on Qtum's GitHub, but here: https://github.com/spacemanholdings/QMix
Qtum JS
Qtum JS is a JavaScript library specifically developed for Qtum Smart Contracts that is very useful for DAPP development. Use this tool to build an application and interact with a smart contract, or you can interact directly with Qtum RPC using a framework you like (such as react or angular). Find all the operations that use the Qtum JS library in the documentation. https://qtumproject.github.io/qtumjs-doc/?javascript#qtumrpc
Qtum JS Wallet
Similar to Qtum JS, this is a simplified library that helps you build a lean wallet. It extracts from another Qtum project and uses the Qtum explorer API to get information about the Qtum blockchain. It's a simple yet powerful library that meets all your needs for your wallet. https://github.com/qtumproject/qtumjs-wallet
Qtum API
The Qtum API is another very useful tool that you might use in any application. Use the API to get information from the Qtum network that your project might need. On the GitHub page, you can see a complete list of all API calls and the responses they return. For example, Qtum explorer uses this tool and can also use it as a sample project. https://github.com/qtumproject/insight-api
Qtum project under development
If you are interested in participating in the ongoing Qtum project, do your best to learn more. If you find any problems, you can submit a GitHub issue, and look forward to discovering and resolving and providing pull requests, which will help us grow with Qtum.
Other Qtum projects worth studying
Qtum Electrum Lightweight Qtum Wallet. https://github.com/qtumproject/qtum-electrum
Qtum Enterprise (QtumX) is currently under development and is Qtum's enterprise environment, so group companies can run their own alliance chains. https://github.com/qtumproject/qtum-enterprise
Qtum Explorer This is the explorer's GitHub repository discussed earlier in this article. https://github.com/qtumproject/qtum-explorer
Qtum Solar is a prototype project that Qtum is working on to deploy smart contracts. https://github.com/qtumproject/solar
The Qtum x86 team is about to launch exciting new features. The project is a virtual machine that emulates an x86 processor, thus allowing users to write and compile smart contracts on popular programming languages, rather than being limited to Solidity. https://github.com/qtumproject/x86lib
Qtum Lightning is the Qtum implementation of Bitcoin Lightning Network https://github.com/qtumproject/qtum-lightning
Qtum Portal is a web server that allows you to run third-party DAPPS https://github.com/qtumproject/qtumportal
Qtum IOS wallet is a Qtum wallet repository built for iOS. https://github.com/qtumproject/qtum-ios
Qtum android wallet is a Qtum wallet repository that can be found in the Google Store. https://github.com/qtumproject/qtum-android
submitted by realJB395 to Qtum [link] [comments]

Project: Designing service bots for social networks

This project consists in creating a bot, that is, an automated conversational agent, connecting to a social network to interact with regular users and provide them with a service. This bot will have a Reddit account to which it will regularly log in to check its private messages, subreddits and contributions from one or several other users, waiting for the "commands" it will have to interpret and execute.
It is proposed that the Bot gets developed with the PKP module used for hands'on sessions, since it contains both a botting environment together with directions for such a Reddit Bot, and AI microservices that can be leveraged by the Bot. However, any other Botting environment is just as acceptable, although I may not be able to provide as much support.
The scope of this project is very open. Such a project has many ways to become a success, it can involve several different perspective and is adjustable to a wide range of levels of commitment. It could be developed along 2 dimensions:

Resources

General resources

PKP Bots

First of all, there is the unfinished bot defined in the default settings. It is a sort mockup of what needs to be set up.
This default bot is only a sketch, an empty shell. The work consists in thinking about how to fill it. To find examples, one can look at existing generalist bot platforms such as mmbot.

Conversational Bot Framework

Over the last couple of years, many platforms have emerged, proposing online and offline environments to develop custom conversation bots. You may want to leverage one of those Frameworks:

Interpretation

First of all, many things can be tried and tested about the interpretation of texts posted on the social network.

Regular expressions and grammars.

The easiest way to understand a user's input is to use a regular expression. It supposes that the user uses a well defined syntax, as opposed to NLP enabled bots that can process natural language, but in many cases, this is just fine as the user knows what he's doing. You can think of a command prompt. The existing unfinished PKP bot aims at introducing such a system, where you can create intermediary variables through regex named groups, to be processed at a later stage.
In .Net, if you need to create regular expression "on the fly", libraries such as Expresso or VerbalExpressions can be used.
Another similar yet more general method is the use of well defined grammars. The typical .Net and Java library for grammars is Grammatica, a version of which is included in Flee, which itself we use throughout PKP.

AIML - SIML

AIML is an outdated yet simple protocol to create chatbots. It is implemented here in .Net. The following framework offers a SIML extension of the protocol and is also implemented in .Net.
It may not be as expressive as we could wish (This is a reflex agent based on a simple model), but it probably is more expressive than what we find in the bot sketch. It could therefore be a good starting point that could be customized with the possibility of advanced requests besides its conversational abilities.

NLP (Natural Language Processing)

An alternative a complementary approach consists in using NLP techniques to strengthen up the interpreter. Most modern conversational platforms include some kind of NLP capabilities, usually with a training procedure to customize the default models.
Now, you may also try to implement the NLP capabilities with your own model.
The following libraries share the ability they have to segment a text into sentences, sentences into syntactic proposition and phrases, each of which can then be segmented into their elementary building blocks. Thus, each word is identified and associated with its function in its proposition and with the function of the proposition in the sentence. Each of them is based on a mix of general rules and probabilistic Bayesian models trained on large corpora. Models are for example useful to solve ambiguities.
Now, note that with the advent of Deep learning, new models based on neural networks were introduced recently, usually with better performances.

Semantic and logic processing

One can also jump onto the semantic and logic level, with or without grammatical analysis. Without grammatical analysis, we'll stay at the command level with syntax conforming to regular expressions or grammars.
There are the Namespaces of AIMA, on issues of first-order and propositional logic. This library is ported into .Net via IKVM and is listed in the PKP AI project. Then, there are the Semantic Web libraries, especially dotNetRDF or semweb which is not maintained anymore but has a reasoning core and interesting extensions. You can also think of connecting to any semantic-able Sparql endpoint to request data, such as one of those listed by the W3C.

Actions

One can remain at the regular expression level for anything above, but invest instead into the services offered by the bots.
You may want to browse subreddits, where active bots are discussed, such as:
Github also contains many repositories with such sample bots.
An example of successful bots were Bitcoin tippers a couple years ago, where you can let a bot handle some crypto-currency on your behalf, and tip/pay other users at your will. Changetip was the most succesfull of them all before it shut down after the developers were hired by AirBnB. It should be relatively easy to replicate such as Bot using for example an online Bitcoin wallet as provided on blockchain.info
Another very popular Bot is Autotdlr, which uses an external service to summarize long submissions. Here is an article about another type of bot to summarize articles. Nowadays, one find public APIs for that, but the NLP techniques we will study should enable us to provide such a service or to personalize the offer. For example, one could provide a word number as a parameter of the task.
More generally, the issue is often about integrating libraries. We mentioned MMBot above, which can be suggest ideas, there also re things like SharpSnmp for system supervision functionalities viaSNMP.
In this perspective, the general issue becomes: how to manipulate libraries with command lines via social bots?

A basic example

Here is one idea that will bring quick results and involve the Reddit community in a new service: one of the web services presented in the hands-on session of the second class is a web service that tries to solve arbitrary constraint satisfaction problems.
One can send the problem in the request body in the following form:
CSP{ Domains : { TimeSlots :{[List of ½ days], Developers :{Pierre, Paul, Jacques} }, Variables : { Task1Date :TimeSlots , Task1Dev :Developers, Task2Date :TimeSlots, Task2Dev :Developers, Etc. } Constraints : { Task1Date + durationTask1 < Task2Date , Task1Dev != Task2Dev , Etc. } } 
As a response, you should get something like:
Assignation: { Task1Date : Monday 12, Task1Dev : Paul, Task2Date : Wednesday 13, Task2Dev : Jacques Etc. } 
This enables us to imagine a syntax which would enable Reddit users to call this service with simple commands without losing too much flexibility. This type of bot can raise a lot of interest and designing them seems like a reasonable task in the context and scale of the project.
submitted by jeansylvain to AI101EPF2017 [link] [comments]

Userfeeds Platform - Blockchain aggregation use cases

Hello, I'm Grzegorz, [email protected],
I wanted to share with you example applications build on top of Userfeeds Platform and resources on how to build them. Userfeeds Platform is a system aggregating multiple blockchains (Etherum mainnet, testnets and Bitcoin) and making the data accessible through simple HTTP APIs (open and read only).
The applications we've build so far are:
https://cryptopurr.co
https://linkexchange.io (You can see the widget in action at https://www.stateofthedapps.com/collections/hottest last box on the right)
You can also find simple example interfaces at https://userfeeds.github.io/examples/ (https://github.com/Userfeeds/examples)
The documentation (It's work in progress, sorry for poor quality in some places) ca be found at https://userfeeds-platform.readthedocs-hosted.com/en/latest/
The part of our system tat is responsible for serving our API was made public not so long ago and can be found at https://github.com/Userfeeds/Platform-API
We also have sample web-components that can be used to send transations, all the state and complexity handled by the component, you can find examples at https://components.userfeeds.io/
All in all Userfeeds Platform allows for combination of data from different blockchains and for querying blockchains in ways unavailable for pure nodes. We currently use graph database Neo4j as our main 'query backend'.
We are planning to expand the Platform with additional data sources, whisper and HTTP/IPFS message transports, additional databases for more complex queries.
A lot of 'algortihms' (specific queries with little bit of logic) currently powering our APIs are made by us and only for use cases that we encountered in building our applications. This needs to change. Those algorithms could use Neo4j graph analytics much more and deliver richer data to any UI, from simple dapp listings to complex contract usage analytics.
That's why I want to start a conversation on 'What would you build if querying blockchains was as easy as making HTTP request, and extending those querying capabilities as simple as writing couple of lines of code?'
G.
submitted by xunkulapchvatal to ethereum [link] [comments]

[For Hire] NodeJS / Python / C# Developer for Web Apps, Automation jobs, Telegram / Discord Bots, General Bot Programming

I am an Indie developer from India. I am self taught and am extremely passionate about Programming & Computer Science. Given below is my portfolio. Note : I am a professional Electrical Engineer at one of India's premier manufacturing companies in the Energy sector (8 years +)
Project : Telegram Web Scraping
A project done for a client on an online platform, involved scraping user lists from telegram communities and sending private messages to gathered users. Used Python & Selenium for scraping the angular based Telegram web app.
Project completed successfully and code available for demo upon request.
Project: Tweet Stream & Telegram Bot
A real-time Tweet stream filtering on BitCoin and Crypto Currency related terms, with a focus on new coin listings. Developed for a user on Reddit.
Demo : www.botnation.me
Project: Emulating Bing Image search API via Scraping.
Did this as a full stack web app, with Python/ Flask at the backend and CSS Grid based Html / JS app on the front-end. The flask API made use of Selenium WebDriver to start a Firefox instance, search for the input term, and return the results as a list of images.
Project included a web back-end service in Python that acted as an Image Search API. Final result was a document with a collage of selected images.
A HTML/JS based front-end acted as the UI.
It was a very fun project.
More details and code available upon request.
(Youtube Video of Project in working)[https://www.youtube.com/watch?v=YsvZCB_zudU]
Project: Development of an automated email marketing tool.
Did this as part of a request from /jobbit Project involved parsing a bunch of settings and content files, connecting to a bunch of SMTP servers and sending mails to a bunch of users. The fun part of this project was making it multi-threaded using Python (multiprocessing based parallel operation)
Project: Development of a receipt printing hack for printing content from a payments website to a local USB receipt printer
This is the MOST fun project I have done till date. Basic architecture is given below.
Webpage -> Custom Javascript running on page (using a Greasemonkey plugin) injects a "Print Receipt" button into the page -> Calls a locally running Python & Flask based HTTP API from Script -> Data collected and sent to a PowerShell script to be injected into a word template and finally printed to the local USB receipt printer.
Phew !
Had to run JS on the page as the page developers gave a print option, but the printing from that page onto the local receipt printer printed a standard A4 sized page. The actual content was very less, but each print completed on a full sized page, leave most of the paper empty. So had to extract the data from the page.
Used Python & Flask as it was the easiest to implement. Nodejs would also have worked.
Had to use a PowerShell script, as Word automation from Python is a pain. Power shell provided a much simpler method of searching for a bookmark in a word template, replace with text data, and send a print command. Whole thing was completed in about 15 LOC. Powershell script is called from Python.
Had to use a word template instead of directly sending data to a printer for two reasons. 1. Future-proofing the system, for accommodating different printers, systems, etc. 2. Providing the user a complete customization option. Currently headers and footers are directly modified in the word template. This gives a lot of flexibility to the system.
In conclusion, a simple click on the page prints a correctly sized, customizable receipt in the printer, cut to the exact page length as the data.
Did this project for a local business (Owner is a friend)
Project : Development of a desktop based app for instrumentation measurements gathering and analysis.
Complete architecture design, programming, testing & deployment of a mid-sized .NET/C#/PostgreSQL/Excel based system with the following salient features.
Dynamic hardware systems configuration (Hot module reloading) Dynamic measurements configuration. PostgreSQL based data persistence. Realtime analysis of incoming data and user scripted transformations. Export to excel based templates for user customized reporting. Automatic merging of data between various separate systems for consolidated reporting.Developed as part of modernization of machined component test platform at the company I work in, sample codes and outputs available on request.
Project: Development of automated graph drawing programs for imported data in Excel VBA
Project was envisaged by self, to automate manual drawing of curves (and data extraction based on curves drawn) on select-able engineering parameters. Completed it using custom graph drawing algorithms (piece-wise curve data interpolation) implemented in VBA inside Microsoft Excel. It was an extremely fun project and reduced man-hours required for the final work from a couple of hours to a few button clicks.
Summarizing :
I am proficient in the following technologies.
Pypthon / C# / JS PostgreSQL (Database design, including normalization, Stored Procedure development, optimization) Powershell based automation Excel / Word programming HTTP API backend development with Python (Django, Flask) & NodeJS (Express) Program design & architecture Front-end development. 
I am a fast learner and am extremely passionate about programming. My focus, when developing any system, is ease of use & efficiency. I fret over the design to the point of obsession.
I am available for freelancing work (remote). I am based out of Hyderabad, India. You can contact me over PM / Email / Phone / Skype / Whatsapp
submitted by captain_arroganto to forhire [link] [comments]

10-15 00:32 - 'FootballCoin Wallet Developer Bounty!' (self.Bitcoin) by /u/beyinsi removed from /r/Bitcoin within 120-130min

'''
As many of you already know, FootballCoin is currently moving to a new blockchain solution hosted on the Multichain platform.
The SPV wallet will allow players to store their in-game assets. We'd like to make the SPV wallet development a sponsored community effort. Our reasoning is that everyone (us included) wants development times to be as short as possible and we're sure there's talent in the community.
Sponsoring this effort will make sure that it's worth it for everyone.
Here's what we're offering:
The project is based on a fork of bitcoinj and other than general SPV wallet requirements should also feature: - Storage (send/receive/display) of all platform assets: XFC, player cards, stadium cards; - Address Book function (users should be able to link their in-game address in the wallet for easy exachanges between game account and wallet)
The budget we're currently allocating is 1.8 BTC (and another 25% for early release). Bounties will be distributed according to contribution level and feature a multiplier for releasing the project earlier. The sooner the initial version is released, the more everybody can earn.
Bounty distribution:
0.3 BTC: PC (Windows/Linux/macOS) SPV wallet 0.5 BTC: Android SPV wallet 1 BTC: IOS SPV wallet
Bounty bonuses: +25% for releasing before: 10 Oct 2017 - PC wallets 15 Oct 2017 - Mobile wallets
Contribute more, earn more. Contribute fast, earn even more! Please reply in this thread or via PM to apply!
To keep things safe and fair we're placing the total amount of 2.25BTC (1.8 + 25%) in escrow. The escrow will release the amount based on FootballCoin criteria of evaluation. Escrow: Cyrus. Address where Bounty amount is stored: to be released.
CONTACT: [link]1
'''
FootballCoin Wallet Developer Bounty!
Go1dfish undelete link
unreddit undelete link
Author: beyinsi
1: bit*ointalk*or**in*ex*ph*?top*c*2227*09
Unknown links are censored to prevent spreading illicit content.
submitted by removalbot to removalbot [link] [comments]

[uncensored-r/Bitcoin] FootballCoin Wallet Developer Bounty!

The following post by beyinsi is being replicated because the post has been silently removed.
The original post can be found(in censored form) at this link:
np.reddit.com/ Bitcoin/comments/76f75f
The original post's content was as follows:
As many of you already know, FootballCoin is currently moving to a new blockchain solution hosted on the Multichain platform.
The SPV wallet will allow players to store their in-game assets. We'd like to make the SPV wallet development a sponsored community effort. Our reasoning is that everyone (us included) wants development times to be as short as possible and we're sure there's talent in the community.
Sponsoring this effort will make sure that it's worth it for everyone.
Here's what we're offering:
  • GitHub repo where users can contribute (and get paid accordingly);
  • Code samples, graphic (UI kit) and API for assets;
  • Advice, guidelines and documentation;
  • Bounties in BTC;
  • Slack channel to discuss;
  • Positive attitude Smiley
The project is based on a fork of bitcoinj and other than general SPV wallet requirements should also feature: - Storage (send/receive/display) of all platform assets: XFC, player cards, stadium cards; - Address Book function (users should be able to link their in-game address in the wallet for easy exachanges between game account and wallet)
The budget we're currently allocating is 1.8 BTC (and another 25% for early release). Bounties will be distributed according to contribution level and feature a multiplier for releasing the project earlier. The sooner the initial version is released, the more everybody can earn.
Bounty distribution: 0.3 BTC: PC (Windows/Linux/macOS) SPV wallet 0.5 BTC: Android SPV wallet 1 BTC: IOS SPV wallet
Bounty bonuses: +25% for releasing before: 10 Oct 2017 - PC wallets 15 Oct 2017 - Mobile wallets
Contribute more, earn more. Contribute fast, earn even more! Please reply in this thread or via PM to apply!
To keep things safe and fair we're placing the total amount of 2.25BTC (1.8 + 25%) in escrow. The escrow will release the amount based on FootballCoin criteria of evaluation. Escrow: Cyrus. Address where Bounty amount is stored: to be released.
CONTACT: https://bitcointalk.org/index.php?topic=2227309
submitted by censorship_notifier to noncensored_bitcoin [link] [comments]

New Programmer Here Looking for Testers on New GitHub Repo/Bitcoin Software API

Good afternoon, I've just started to pick up programming and this is my first Github Project! This is a simple API for usage with existing Java Applications, source is available alongside the compiled binary. Source also partially available on the below GitHub link (still learning git bash).
The compiled binary includes a small sample program to display how it can be used in a real application! Check it out :)
I'm turning this project in for my Uni's computer science course, and I really need to make sure it's working perfectly before I go ahead and turn it in :) Would love any and all debuggers or beta testers!
Documentation will be made available at the github repo as soon as I can get it nice and organized.
Compiled Jar
Github
submitted by Persis-Dev to Bitcoin [link] [comments]

Public contract code review. CHAINY — aeon short links and Proof Of Existing.

Hi everybody!
Everex team is almost finished moving https://Chainy.link project from Bitcoin blockchain to Ethereum DAPP and would like to collect your feedback about the contract code.
In short words, Chainy is the independent DAPP with (optional) online interface which
a) creates authentic irreplaceable short URLs
b) permanent proof of existence of the document (file) together with link to the file
c) public text message on the [Ethereum] blockchain.
Essentially, Chainy is a simple independent smart contract, which exists for as long as blockchain lives, and it's independent from anybody. Even if we abandon this project, and it will be impossible to look up the data using other viewers or blockchain explorers or scanners, all previously stored proofs and data will be available via the Ethereum API, for example through Mist. Just as we all like it :))
To create new proof entry, the user must request a call contract method addChainyData with JSON string. It will return unique short code index entry, encoded from a block number and a few characters of the sender address (in case if few records will fall into the same block at the same time).
To get your entry using short code, user must call method getChainyData with the code. The data format is simple to understand, so in general even with Mist wallet, it is enough to store and see the data.
Data types:
  1. AEON permanent links. Similar to bit.ly, but impossible to replace or switch the destination of the url, unlike conventional URL shorteners. If a moderator has checked that the link leads to e.g. Ethereum.org, he can be absolutely sure that tomorrow and in any other day it won’t lead to a phishing site or to other malicious content nest.
  2. File signatures follow already well-known method, where sha256 of the file is stored in the blockchain.
  3. File signatures along with a link to a file is a combination of 1 and 2. This allows you to refer to the proof of existence with a link only that will show page with proof and link to the (external) file, which the user can download and check its identity with the signature.
  4. The signed text. Just a text message stored in blockchain. "Bob borrowed 100 bitcoins from me”
  5. File with signatures and file content in blockchain. (May be later, after SWARM is released).
Each entry, besides the data itself, also contains stored timestamp and the address of the creator of the entry. Timestamp can also be calculated by the block, but we left it like that for additional convenience
Note that if you need to retain the sender’s address as yours, you must create transaction yourself (through Mist) or it may show different address, like the one provided by online service. However, for convenience, we also did an online form that creates JSON in the right format. You will only have to send it to a contract from your address.
Using only Mist without external services is not easy for users. Chainy provides user friendly web interface, which will take and organize the data submitted from the user and broadcast it into the contract.
Storage format is open source, so anybody can develop a viewer. Even if the viewer is not available, a contract will always be live and you can always get proof of existence of your data by simply referring to the contract through Mist or Ethereum API. Or through the Chainy viewer, which is an open source.
So, anybody have interest are welcome to review the Chainy contract link and send us your comments.
Link to contract source: https://github.com/EverexIO/Chainy/tree/develop/contract
Deployed contract: 0x923c6c916B74495eA0aFf9C19384D225473dB11c
Test form to create JSON data and post into contract: http://test.chainy.info/add
Sample short code data: gdy2z
Also look short manual about using contract in mist in comment below
submitted by alexnsk to ethereum [link] [comments]

[For Hire] Full Stack+ Developer - Web App Dev / Desktop Apps / Scripting / Python / C# / NodeJS / Automation / Selenium

I am an Indie developer from India. I am self taught and am extremely passionate about Programming & Computer Science. Given below is my portfolio. Note : I am a professional Electrical Engineer at one of India's premier manufacturing companies in the Energy sector (8 years +)
Project : Telegram Web Scraping
A project done for a client on an online platform, involved scraping user lists from telegram communities and sending private messages to gathered users. Used Python & Selenium for scraping the angular based Telegram web app.
Project completed successfully and code available for demo upon request.
Project: Tweet Stream & Telegram Bot
A real-time Tweet stream filtering on BitCoin and Crypto Currency related terms, with a focus on new coin listings. Developed for a user on Reddit.
Demo : www.botnation.me
Project: Emulating Bing Image search API via Scraping.
Did this as a full stack web app, with Python/ Flask at the backend and CSS Grid based Html / JS app on the front-end. The flask API made use of Selenium WebDriver to start a Firefox instance, search for the input term, and return the results as a list of images.
Project included a web back-end service in Python that acted as an Image Search API. Final result was a document with a collage of selected images.
A HTML/JS based front-end acted as the UI.
It was a very fun project.
More details and code available upon request.
(Youtube Video of Project in working)[https://www.youtube.com/watch?v=YsvZCB_zudU]
Project: Development of an automated email marketing tool.
Did this as part of a request from /jobbit Project involved parsing a bunch of settings and content files, connecting to a bunch of SMTP servers and sending mails to a bunch of users. The fun part of this project was making it multi-threaded using Python (multiprocessing based parallel operation)
Project: Development of a receipt printing hack for printing content from a payments website to a local USB receipt printer
This is the MOST fun project I have done till date. Basic architecture is given below.
Webpage -> Custom Javascript running on page (using a Greasemonkey plugin) injects a "Print Receipt" button into the page -> Calls a locally running Python & Flask based HTTP API from Script -> Data collected and sent to a PowerShell script to be injected into a word template and finally printed to the local USB receipt printer.
Phew !
Had to run JS on the page as the page developers gave a print option, but the printing from that page onto the local receipt printer printed a standard A4 sized page. The actual content was very less, but each print completed on a full sized page, leave most of the paper empty. So had to extract the data from the page.
Used Python & Flask as it was the easiest to implement. Nodejs would also have worked.
Had to use a PowerShell script, as Word automation from Python is a pain. Power shell provided a much simpler method of searching for a bookmark in a word template, replace with text data, and send a print command. Whole thing was completed in about 15 LOC. Powershell script is called from Python.
Had to use a word template instead of directly sending data to a printer for two reasons. 1. Future-proofing the system, for accommodating different printers, systems, etc. 2. Providing the user a complete customization option. Currently headers and footers are directly modified in the word template. This gives a lot of flexibility to the system.
In conclusion, a simple click on the page prints a correctly sized, customizable receipt in the printer, cut to the exact page length as the data.
Did this project for a local business (Owner is a friend)
Project : Development of a desktop based app for instrumentation measurements gathering and analysis.
Complete architecture design, programming, testing & deployment of a mid-sized .NET/C#/PostgreSQL/Excel based system with the following salient features.
Dynamic hardware systems configuration (Hot module reloading) Dynamic measurements configuration. PostgreSQL based data persistence. Realtime analysis of incoming data and user scripted transformations. Export to excel based templates for user customized reporting. Automatic merging of data between various separate systems for consolidated reporting.Developed as part of modernization of machined component test platform at the company I work in, sample codes and outputs available on request.
Project: Development of automated graph drawing programs for imported data in Excel VBA
Project was envisaged by self, to automate manual drawing of curves (and data extraction based on curves drawn) on select-able engineering parameters. Completed it using custom graph drawing algorithms (piece-wise curve data interpolation) implemented in VBA inside Microsoft Excel. It was an extremely fun project and reduced man-hours required for the final work from a couple of hours to a few button clicks.
Summarizing :
I am proficient in the following technologies.
Pypthon / C# / JS PostgreSQL (Database design, including normalization, Stored Procedure development, optimization) Powershell based automation Excel / Word programming HTTP API backend development with Python (Django, Flask) & NodeJS (Express) Program design & architecture Front-end development. 
I am a fast learner and am extremely passionate about programming. My focus, when developing any system, is ease of use & efficiency. I fret over the design to the point of obsession.
I am available for freelancing work (remote). I am based out of Hyderabad, India. You can contact me over PM / Email / Phone / Skype / Whatsapp
submitted by captain_arroganto to jobbit [link] [comments]

LakeBTC WebSocket API

LakeBTC WebSocket API
https://www.lakebtc.com/p/2523?locale=en
LakeBTC launched WebSocket API today after testing for an extended period of time. Customers and partners may access LakeBTC market data via a persistent TCP connection. Users are encouraged to retrieve (near) real time ticker and orderbook data over the latest technology.
About WebSocket API
WebSocket is a protocol providing full-duplex communications channels over a single persistent TCP connection. The WebSocket protocol was standardized by the IETF as RFC 6455 in 2011, and the WebSocket API in Web IDL is being standardized by the W3C. WebSocket API will provide our customers faster and more responsive financial data services.
As one of the big four bitcoin exchanges, LakeBTC takes security, liquidity, and service very seriously.
WebSocket API is one of our recent improvements and will bring our customers, both professional traders and casual users, most update-to-date market data. With live data streamed directly to customer, this feature is expected to further enhance user experience and market activities. Our years of risk management and internal control experience in financial industries build the most solid foundation for ensuring customers' fund and privacy being safe and secure.
How to use
Users who wish to use LakeBTC WebSocket API may visit LakeBTC API documents for instructions, sample code, and Javascript lib file.
submitted by LakeBTC to BitcoinMarkets [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]

Getting exchange rates with API - part 1 How to integrate the bitcoin trading api in php Abucoins: An exchange with an excellent API and documentation Bitcoin: Beyond The Bubble - Full Documentary - YouTube Programming Bitcoin-qt using the RPC api (1 of 6)

Bitcoin-API. Bitcoin API NodeJS Driver and Documentation Contents. NodeJS Driver; API; About. The GitHub repo and NPM module bitcoin-api lets you add Bitcoin functionality to your websites and apps. Using a token, you can incorporate Bitcoin deposit and withdraw functionality into your tech.. NodeJS Driver Table of Contents Our API requires that you have at least one Bitcoin address to which all payments will be forwarded. The private key for this address does not need to be shared with us and can be kept offline for increased security. There are many different ways to get a Bitcoin address. If you do not already have one, you can get one easily; see potential wallet options below. API DOCUMENTATION. Github; Merchant API; Payment API. Introduction . Our receive payments API is the quickest and easiest way to begin accepting automated Bitcoin, Litecoin, Zcash, Bitcoin Cash or Bitcoin SV payments, system only requires one confirmation to forward the payment. No delays. A small fee of 1% is taken automatically before system forwards the payment, we use those fees to keep ... "Application Programming Interfaces" or "API" means Bitcoin.com Exchange platform technology (https: ... software libraries, software tools, sample source code, published specifications and Documentation. API shall include any future, updated or otherwise modified version(s) thereof furnished by Bitcoin.com Exchange (in its sole discretion) to Licensee. 1.2. "Documentation" includes, but is ... CoinDesk provides a simple and free API to make its Bitcoin Price Index (BPI) data programmatically available to others. Find out how to use it here.

[index] [32276] [33200] [33751] [16821] [37488] [32677] [38574] [50106] [9792] [40749]

Getting exchange rates with API - part 1

how to make applications with Bitcoins. For the Love of Physics - Walter Lewin - May 16, 2011 - Duration: 1:01:26. Lectures by Walter Lewin. Enroll in the Essential APIs course at https://www.osaango.academy and learn to use APIs. The course doesn't require any programming skills. How to use APIs ... Thanks for watching! For donations: Bitcoin - 1CpGMM8Ag8gNYL3FffusVqEBUvHyYenTP8 Their API and the documentation for their API is the best out there. They are currently running a promotion where if you use the code "CCT" when you register you get 0% trading fees until the end ... Bitcoin Trading API from Bitcoin.com ----- Hi, Today I will Show you How to integrate the bitcoin trad...

#