Create Focus with Conditional Formatting in Excel - 15 ...

Gridcoin 5.0.0.0-Mandatory "Fern" Release

https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.0.0.0
Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that.
Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap.
We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout.
Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.

Highlights

Protocol

Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now.
Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date.
The transition height is also when the team requirement will be relaxed for the network.

GUI

Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.

Blockchain

The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use.
There are so many goodies here it is hard to summarize them all.
I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures.
The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!

Summary Changelog

Accrual

Changed

Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.

Removed

Beacons

Added

Changed

Removed

Unaltered

As a reminder:

Superblocks

Added

Changed

Removed

Voting

Added

Changed

Removed

Detailed Changelog

[5.0.0.0] 2020-09-03, mandatory, "Fern"

Added

Changed

Removed

Fixed

submitted by jamescowens to gridcoin [link] [comments]

It's finally here! Tautulli v2 [beta] (formerly PlexPy v2)

It's finally here! Tautulli v2 [beta] (formerly PlexPy v2).

The long awaited for PlexPy v2 is finally here with a new name Tautulli! Also check us out on the new Plex Labs!
I'm looking for some brave people to help me test some new feature before I fully release them. It's a very big update so I want to make sure everything is working.
Warning: This may mess up your PlexPy install and/or your database. You have been warned. Only join the beta if you are serious about testing and reporting bugs, otherwise I strongly recommend you wait until the final release.

Changelog

v2.0.0-beta (2017-12-18)

v2.0.1-beta (2017-12-19)

v2.0.2-beta (2017-12-24)

v2.0.3-beta (2017-12-25)

v2.0.4-beta (2017-12-29)

v2.0.5-beta (2017-12-31)

v2.0.6-beta (2017-12-31)

v2.0.7-beta (2018-01-01)

v2.0.8-beta (2018-01-03)

v2.0.9-beta (2018-01-03)

v2.0.10-beta (2018-01-04)

v2.0.11-beta (2018-01-05)

v2.0.12-beta (2018-01-07)

v2.0.13-beta (2018-01-13)

v2.0.14-beta (2018-01-20)

v2.0.15-beta (2018-01-27)

v2.0.16-beta (2018-01-30)

v2.0.17-beta (2018-02-03)

v2.0.18-beta (2018-02-12)

v2.0.19-beta (2018-02-16)

v2.0.20-beta (2018-02-24)

v2.0.21-beta (2018-03-04)

v2.0.22-beta (2018-03-09)

"I'm interested! Where do I sign up?"

Assuming you already have PlexPy installed using git, all you need to do is follow these steps:
  1. Backup your database! Go to the PlexPy Settings > General tab > Backup Database. You will need to restore this if something messes up. I'm not helping you if you mess up your database and you didn't create a backup.
  2. Shut down PlexPy by going to Settings > Shutdown.
  3. Using your shell/command line, run the following from the PlexPy folder:
    git fetch git checkout beta 
  4. Start Tautulli as normal.
  5. Post below if you find any bugs (include logs). Please don't post on GitHub issues or the Plex forum thread with bugs/issues from the beta test. If you do, I will laugh at you and delete your post.
    • Please read the issues guidelines before report any problems, and refer to the FAQ for common issues.
    • New features can be submitted on FeatHub (use the search to see if it has already been requested). Please read the feature request guidelines before requesting new features.
    • Join the Discord Server chat for faster help and general chit chat. (Note: the Gitter chat is no longer being used.)
If you want to revert back to the version of PlexPy before beta testing:
Warning: You will not be able to use your v2 database with v1!
  1. Shut down Tautulli by going to Settings > Shutdown.
  2. Restore your backed up plexpy.db file (it can be found in the backup folder).
  3. Using your shell/command line, run the following from the PlexPy folder:
    git checkout master 
  4. Start PlexPy as normal.
Buy me a coffee if you want to support the project! - PayPal | Bitcoin: 3FdfJAyNWU15Sf11U9FTgPHuP1hPz32eEN

Answers to your questions:

  • Why did you call it Tautulli?
    • Because it sounds cool and means "to watch or monitor" in Inuktitut.
  • I don't like the new name!
    • That's too bad. Also, that is not a question.
  • When will v2 be out of beta?
    • When I feel like there are no more major bugs with it. SoonTM.
  • Is there an iOS app?
    • No, there isn't. It costs money to be an iOS developer.
submitted by SwiftPanda16 to PleX [link] [comments]

A tour of the Gridcoin wallet

Hey guys, I thought I would put together an in-depth tour of the Gridcoin wallet software for all of our recent newcomers. Here I'll be outlining all the features and functions the windows GUI wallet has to offer, along with some basic RPC command usage. I'll be using the windows wallet as an example, but both linux and macOS should be rather similar. I'll be including as many pictures as I can as embedded hyperlinks.
Edit: Note that since I originally made this there has been a UI update, so your client will be different colors but all the button locations are in the same place.
This is my first post like this, so please forgive me if this appears a little scatter-brained.
This will not cover the mining setup process for pool or solo miners.
When you launch the wallet software for the first time you should be greeted with this screen.

OVERVIEW TAB

After that prompt, you should be left sitting on the main overview tab with several fields on it.
From top to bottom:

SEND TAB

Now onto the other tabs on the left side. Currently we're on the Overview tab, lets move down to the Send tab. This tab it pretty self-explanatory, you use it if you want to send coins, but I'll go over the fields here:
  • Pay To: Enter a valid gridcoin address to send coins too. Gridcoin addresses always start with an S or and R.
  • Label: Enter a label here and it will put that address in your "address book" under that label for later use. You can leave it blank if you don't want it in your address book.
  • Message: Enter a message here if you want it attached to your transaction.
  • Amount: How many coins you want to send.
  • Add Attachment: Leave this alone, it is broken.
  • Track Coins: This doesn't do anything.

RECEIVE TAB

Now down to the Receive tab. Here you should have a single address listed. If you double click on the label field, you can edit it's label.
  • New: Generate a new address.
If you click on an address, the rest of the options should be clickable.
  • Copy: Copy the selected address to your clipboard.
  • Show QR Code: Show a scan-able QR code for the selected address.
  • Sign Message: Cryptographically sign a message using the selected address.

TRANSACTIONS TAB

The Transactions tab is pretty boring considering we have no transactions yet. But as you can see there are some sorting tools at the top for when you do have transactions listed.

ADDRESS BOOK TAB

The Address Book is where all the addresses you've labeled (that aren't yours) will show up.
  • Verify Message: Verifies a message was signed by the selected address.
The rest of the functions are similar to the functions on the Receive tab.

VOTING TAB

Onto the Voting tab. There wont be any polls because we aren't in sync yet.
  • Reload Polls: Pretty self-explanatory, I've never had to use this.
  • Load History: By default, the wallet will only display active polls. If you want to view past polls you can use this.
  • Create Poll: You can create a network-wide poll. You must have 100,000 coins as a requirement to make a poll. (Creating a poll does not consume the coins)
Here's what the Voting tab will look like once you're in sync

CONTEXT BAR

Now onto the context bar menus on the top.
Under File you have:
  • Backup Wallet/Config: This lets you backup your wallet configuration file just in case.
  • Export: You can export your Transactions tab or Address Book in CSV format.
  • Sign message: Does the same thing as on the Receive tab.
  • Verify message: Does the same thing as on the Address Book tab.
  • Exit: Close the wallet.
Under Settings you have:
  • Encrypt Wallet: Encrypts your wallet with a password. (we'll come back to this)
  • Change Passphrase: Allows you to change your encryption password.
  • Options: Opens the options menu. (We'll come back to this)
Under Community you have:
Under Advanced you have:
  • Advanced Configuration: Opens the Advanced Configuration menu. (Not so advanced if you ask me)
  • Neural Network: Allows you to view solo miners project statistics. It will be largely blank if you're not in sync yet.
  • FAQ: Don't touch this, It is broken.
  • Foundation: Don't touch this, It is broken.
  • Rebuild Block Chain: Starts the client syncing from 0. Don't worry, using this will not make you lose coins.
  • Download Blocks: Downloads the latest official snapshot, can help speed up syncing. The download progress tends to sit at 99.99% for a long time, don't worry, it's working.
Under Help you have:
  • Debug window: Opens the debug window. (We'll come back to this)
  • Diagnostics: Don't touch this, it is broken. This has since been fixed. You can use this to see if there is anything wrong with your setup.
  • About Gridcoin: Opens the About Dialog. This gives you your client version and other information.

OPTIONS

Now back to the options menu under Settings > Options.
Here we have the options menu main tab:
  • Pay transaction fee: The transaction fee that will be automatically paid when you make a transaction.
  • Reserve: You can reserve an amount so that it will always be available for spending.
  • Start Gridcoin on system login: Pretty self-explanatory
  • Detach databases at shutdown: Speeds up shutdown, but causes your blockchain file to no longer be portable.
On the Network tab:
  • Map port using UPnP: Attempts to connect to nodes through UPnP.
  • Connect through SOCKS proxy: Allows you to connect through a proxy.
The window tab is pretty self-explanatory.
The Display tab is also pretty self-explanatory, with the exception of:
  • Display coin control features (experts only!): This allows you to have a great deal of control over the coins in your wallet, check this for now and I'll explain how to use it further down. Don't forget to click "Apply".

ENCRYPTING YOUR WALLET

Now that all of that is out of the way. The first thing you'll want to do is encrypt your wallet. This prevents anybody with access to your computer from sending coins. This is something I would recommend everyone do.
Go to Settings > Encrypt Wallet and create a password. YOU CANNOT RECOVER YOUR COINS IF YOU FORGET YOUR PASSWORD.
Your wallet will close and you will have to start it up again. This time when it opens up, you should have a new button in the bottom left. Now if you want to stake you will have to unlock your wallet. Notice the "For staking only" box that is checked by default. If you want to send a beacon for solo mining or vote, you will need to uncheck this box.

GETTING IN SYNC AND ICONS

Before we continue, Let's wait until we're in sync. Depending on your internet speeds, this could take from several hours to over a day or 2. This can be sped up by using Advanced > Download Blocks, but this can still take several hours.
This is what an in-sync client should look like. Notice the green check to the right of the Receive tab. All of these icons give you information when you hover your mouse over them.
The lock
The arrow tells you if you're staking. If you aren't staking, it will tell you why you're not staking. If you are staking it will give you an estimated staking time. Staking is a very random process and this is only an estimate, not a countdown.
The connection bars tell you how many connections to the network you have.
The check tells you if you're in sync.

WHAT IS STAKING?

Now I've said "stake" about a million times so far and haven't explained it. Gridcoin is a Proof of Stake (PoS) coin.
Unlike bitcoins Proof of Work (PoW), PoS uses little system resources, so you can use those resources for scientific work. PoS works by users "Staking" with their balance. The higher the balance, the higher the chance to create, or "stake" a block. This means you need to have a positive balance in order to stake. Theoretically, you can stake with any amount over 0.0125 coins, but in practice it's recommended to have at least 2000 coins to reliably stake.
Staking is important for solo miners, because they get paid when they stake. Pool miners don't need to stake in order to get paid however. So if you want to solo mine, you'll need to buy some coins from an exchange or start in the pool first and move to solo when you have enough coins.
In addition to Research Rewards for miners, anyone who holds coins (solo miners, pool miners, and investors) gets 1.5% interest annually on top of your coins. So it can be beneficial for pool miners to stake as well.
Here is a snippet of what a research rewards transaction looks like from my personal wallet. I have a label on that address of "Payout address" as you can see here.

UTXOS AND COIN CONTROL

At this point you'll need some coins. You can use one of our faucets like this one or this one to test coin control out.
First let me explain what a UTXO is. UTXO stands for Unspent Transaction Output. Say you have an address with 0 coins in it, and someone sends you 10 coins like I've done here. Those 10 coins are added to that address in the form of a UTXO, so we have an address with one 10 coin UTXO in it.
Now we receive another 5 coins at the same address, like so. Now we have an address with one 10 coin UTXO and one 5 coin UTXO. But how do we view how our addresses are split up into different UTXOs?
Earlier we checked the "Display coin control features" box in Settings > Options > Display. Once that's checked you'll notice there's another section in the Send tab labeled "Coin Control Features". If you click the "Inputs" button, you'll get a new window. And look, there's our 2 UTXOs.
All UTXOs try to stake separately from each other, and remember that the chance a UTXO has to stake is proportional to it's size. So in this situation, my 10 coin UTXO has twice the chance to stake as my 5 coin UTXO. Now wallets, especially ones that make a lot of transactions, can get very fragmented over time. I've fragmented my wallet a little so I can show you what I'm talking about.
How do we clean this up? We can consolidate all this into one UTXO by checking all the boxes on the left and selecting OK.
Now pay attention to the fields on the top:
  • Quantity: The total amount of UTXOs we have selected.
  • Amount: The total amount of coins we have selected.
  • Fee: How much it would cost in fees to send all those UTXOs (more UTXOs = more transaction data = more fees)
  • After Fee: Amount - Fees.
  • Bytes: How large the transaction is in bytes.
  • Priority: How your client would prioritize making a transaction with this specific set of UTXOs selected had you not used coin control.
  • Low Output: If your transaction is less than 0.01 coins (I think).
  • Change: What you will get back in change.
  • custom change address: You can set the address you get your change back at, by default it will generate a new address.
So let's fill out our transaction so we end up with 1 UTXO at the end.
In "Pay To:" Just put any address in your wallet, and for the amount put what it has listed in the "After Fee" Field. Just like this.
Notice how we get no change back.
Now click "Send", we'll be prompted to enter our passphrase and we're asked if we want to pay the fee, go ahead and click "Yes".
Now if we go back to the Overview tab we get this funky icon. If you hover your mouse over it, it says "Payment to yourself", and the -0.0002 GRC is the network transaction fee.
(Ignore the first one, that was me fragmenting my wallet)
Now if we look at the Coin Control menu, we can see that we've slimmed our wallet down from 7 UTXOs to 1.
Now why would you want to use coin control?
2 Situations:
  1. UTXOs less than 0.0125 coins cannot stake. So you can combine a lot of tiny, useless UTXOs into 1 bigger one that can stake.
  2. After a UTXO stakes, it cannot stake for another 16 hours. So if you have 1 large UTXO that is big enough to stake more than once every 16 hours, you can split it into smaller UTXOs which can allow you to stake slightly more often.
  3. By default, the wallet will always generate a new address for change, which can make your wallet get very messy if you're sending lots of transactions. Keep in mind that more UTXOs = larger transactions = more fees.
Sidenote - When you stake, you will earn all research rewards owed reguardless of which UTXO staked. However, you'll earn the 1.5% interest for that UTXO. Not your whole wallet.

FORKING

A fork is when the network splits into multiple chains, with part of the network on each chain. A fork can happen when 2 blocks are staked by different clients at the same time or very close to the same time, or when your client rejects a block that should have been accepted due to a bug in the code or through some other unique circumstance.
How do I know if I'm on a fork?
Generally you can spot a fork by looking at the difficulty on your Overview tab. With current network conditions, if your difficulty is below 0.1, then you're probably on a fork.
You can confirm this by comparing your blockhash with someone elses, like a block explorer.
Go to [Help > Debug Window > Console]. This is the RPC console, we can use to do a lot of things. You can type help to get a list of commands, and you can type help [command you need help with] (without the brackets) to get information on a command. We'll be using the getblockhash [block number] command.
Type getblockhash [block number] in the console, but replace [block number] with the number listed next to the "Blocks:" field on the Overview tab.
This will spit out a crazy string of characters, this is the "blockhash" of that block.
Now head over to your favorite block explorer, I'll be using gridcoinstats. Find the block that you have the hash for, use the search bar or just find it in the list of blocks.
Now compare your hash with the one gridcoinstats gives you. Does it match?
If it matches, then you're probably good to go. If it matches but you still think you're on a fork, then you can try other block explorers, such as gridcoin.network or neuralminer.io.
If it doesn't match, then you need to try to get off that fork.
How do I get off a fork?
  1. Just wait for an hour or two. 95% of the time your client is able to recover itself from a fork given a little time.
  2. Restart the client, wait a few minutes to see if it fixes itself. If it doesn't restart again and wait. Repeat about 4 or 5 times.
  3. Find where the fork started. Using the getblockhash command, go back some blocks and compare hashes with that on a block explorer so you can narrow down what the last block you and the block explorer had in common. Then use reorganize [the last block hash you had in common]. Note that reorganize takes a blockhash, not a block number.
  4. Use Advanced > Download Blocks.
  5. If none of this works, you can take a look at social media (reddit/steemit) and see what other people are saying.

CONFIGURATION FILE

Your configuration file depends on your operation system:
  • On Windows: %appdata%\GridcoinResearch\
  • On Linux: ~/.GridcoinResearch/
  • On MacOS: /Users/USERNAME/Library/Application/Support/GridcoinResearch/
And it should look like this.
If you open up your gridcoinresearch.conf, you'll see the default one it generated. Note that if you entered your email earlier, the first line will have your email on it instead of "investor". If you decided you want to solo mine but didn't enter your email when you first started the wallet, go ahead and put your email on the first line in place of "investor". If you're a pool miner, just leave it as "investor".
Next, it's recommended that you use the addnodes on the gridcoin wiki. So our gridcoinresearch.conf will look like this.
A useful line for solo miners is PrimaryCPID=[YOUR CPID]. Sometimes your wallet can pick up on the wrong CPID so it's good to have that in there if you're solo mining.

RUNNING A LISTENING NODE

A listening node is a node that listens for blocks and transactions broadcasted from nodes and forwards them on to other nodes. For example, during the syncing process when you're getting your node running for the first time, you're downloading all the blocks from listening nodes. So running a listening node helps support the network.
Running a gridcoin listening node is simple. All you need to do is add listen=1 to your gridcoinresearch.conf and you need to forward port 32749 on your router.
If you don't know how to port forward, I'd suggest googling "How to port forward [your router manufacturer]".

QUICK LINKS

Gridcoin.us Official Website
Gridcoin.science Unofficial Website
Gridcoinstats.eu Block Explorer
NeuralMiner.io Block Explorer
Gridcoinstats.eu Faucet
Gridcoin.ch Faucet
Gridcoin Wiki
Gridcoin Github
GRCPool
Arikado Pool
And that's all I have for now!
I plan to keep this post up-to-date with changes in the client. So if anyone has any suggestions, have clarifications they want made, or maybe I got something wrong, then please feel free to leave a comment below or PM me!
submitted by Personthingman2 to gridcoin [link] [comments]

SLT - intro

ABSTRACT The experience of buying and selling cryptocurrencies is as much of a barrier to the expansion of cryptocurrency trading as the relative novelty of the entire concept. While it is no doubt a more recognised and even well regarded market activity, with organisations such as the Chicago Board Options Exchange (CBOE) recently offering the world’s first official cryptocurrency futures contract, and several exchanges opening almost every other week, it is still very much a niche market position to engage in substantial buying and selling of cryptocurrencies. When compared with the market volumes for trading fiat or other stores of value like precious metals, the total cryptocurrency market capitalization of $471,511,748,724 is little more than pocket change. To put it in perspective, the total market capitalization of Bitcoin, which is by far the world’s most popular cryptocurrency is $166 billion, less than the $171 billion market cap of MasterCard, which is not even a fiat issuer. Clearly, despite the leaps and bounds that have been recorded in the growing success story of trading cryptocurrency on the open market, a substantial amount of work still remains to be done. Many reasons exist for the persistence of a gap in market adoption and participation, but perhaps one of the most ubiquitous and detrimental is the sheer difficulty of actually participating in the cryptocurrency market trading space. Due to a lack of regulation stemming from the decentralized nature of tokens, the market is crammed with a vast number of competing platforms and exchanges, all claiming to do certain things which many of them glaringly fail at. For example, the sheer amount of operational friction involved in carrying out a simple purchase transaction is enough to put off many first-time investors and market participants, especially those who do not understand the cryptocurrency ecosystem in detail and those who are used to the structure and order in a regular stock market. The speed of transactions on many platforms has often gained notoriety for creating severely dissatisfied users who had to wait for hours, days or even weeks for a single transaction to trundle its way through. In the midst of these delays, the dynamic market keeps changing. sometimes literally minute-by-minute, which severely compromises the investment position of the user and makes them unlikely to return as market participants again. Some users have even found out to their great personal cost, that while cryptocurrency tokens themselves cannot be hacked or duplicated, they can be stolen from digital wallets that do not have adequate security. So when executing cryptocurrency trades, it has been known to happen that the trading platforms or exchanges used suffered a severe security breach, sometimes with hundreds of millions of dollars’ worth of user cryptocurrency being stolen. Amidst the unique crypto trading environment of unmatched optimism mixed with real risks and horror stories, the challenge is to create a solution that offers all users quick, easy and secure access into the cryptocurrency marketplace with zero fuss and very low risk. This solution would need to cater to both veteran participants in the ecosystem and new entrants into the market, giving both an equal chance to compete. The security on this platform would substantially preclude the possibility of a devastating failure that would compromise user assets and disrupt the user experience. Taking all these problems, challenges and needs into consideration, SLT has been developed as a trading platform offering users the power to buy and sell digital tokens to each other. Making full ue of the security and data processing advantages offered by the Blockchain, SLT proposes to revolutionize the experience of market participation in cryptocurrency trading by making it easily accessible to all types, classes and grades of users, safe and free of potential security failure points, and with a wide scope of application and uses within the ecosystem. The team behind SLT has several years of online work experience, and what unites all of them is a shared experience of the same operational problems present in terms of investing in the cryptocurrency market. SLT is the result of years of thought and research into how to adequately solve the problems once and for all and even create extra value for market participants into the bargain.
INTRODUCTION Before going further in the paper, there are a few terms and concepts that need to be properly defined before the reader can fully appreciate the ideas and solutions that will be proposed later on. The first of these terms is blockchain. A blockchain, according to the standard definition is a network that is decentralized and distributed across all its nodes so that the network cannot be compromised by any single node. In plain English, what that means is that a chain of little bits of data called ‘blocks’ being created, updated and stored across several different locations in real-time is called a ‘blockchain’. The major difference between blockchain networks and regular centralized networks is that unlike the latter, blockchains do not have a “server” or a “headquarters” where isolated information exists in a silo. Blockchains rather use the entire network of nodes as their storage and processing capacity, and each node has a copy of the blockchain which is constantly in communication with the others, verifying transactions and comparing information to make sure the data across all of them is exactly the same. If any single node has data that does not match with that on the rest of the blockchain network, it is immediately isolated as a compromised node and the network automatically excludes it and keeps on functioning. What this means to the uninitiated is that blockchains are very secure, possessing no single location that can be hacked or compromised in any way, and not permitting any variation in data across network nodes. Data stored on a blockchain is thus practically immutable and unchangeable, which make it ideal for recording sensitive data like transaction records and medical records. The second term to be examined is fiat currency. A fiat currency is basically the money most people are used to, which is in either cash or electronic form. The distinguishing features of every fiat currency are that they always have a central issuer – usually a government or a central banking institution – and their use and relative value is constantly managed by these issuers. Unlike blockchain-based solutions, they are all built on centralized rather than distributed infrastructure, which makes them a constant target for hackers and fraudsters. They also contain identifying information unlike digital tokens. A third term that needs to be explored is cryptocurrency. A cryptocurrency is a representation of a digital asset, and it is also sometimes referred to as a token or a coin. Cryptocurrencies contain no information that can be used to personally identify their users, and as such they have gained popularity around the world for a variety of reasons as ‘anonymous currency’. In places like Zimbabwe, Venezuela and Greece for example, in response to crippling capital controls imposed by the government which severely limited the amount of money allowed to be taken out of the country, a huge number of people turned to Bitcoin and other cryptocurrencies as an undetectable means of transferring their wealth abroad. A vast number of cryptocurrencies exist currently, ranging from the ubiquitous Bitcoin (BTC) and Ethereum (ETH) to a basket of currencies including Ripple (XRP), Litecoin (LTC), Dash (DASH), Monero (XMR), Lisk (LSK), TRON (TRX), ICON (ICX), Stratis (STRAT), Zcash (ZEC), Nano (XRB), Steem (STEEM), Bytecoin (BCN), and Populous (PPT), amongst others. For the purposes of this paper, the cryptocurrency that will be focused on is SLT, which is the native currency of the SLT platform. Another concept that needs to be defined is the smart contract. A smart contract is a method of exchanging value between two or more parties using the blockchain as a tool for validation and escrow. Using a smart contract, a seller and a buyer involved in a peer-to-peer transaction do not need to have a middleman interceding between them to ensure that the right exchange is made at the right time. Rather, a set of conditions, instructions and parameters is coded into the blockchain, and the buyer deposits their cryptocurrency into a safe wallet under the care of the smart contract protocol. Once the buyer confirms that they have received the requested value from the seller and it is acceptable to them, the smart contract automatically releases the payment to the seller. Doing business by smart contract is an idea that started off as a novelty and is rapidly taking off, as it removes the burden of validation from both parties involved in a transaction and saves them the cost of a human middleman or bank charges involved in actual escrow transactions. Most smart contracts nowadays are built on the Ethereum blockchain, which is especially optimised to aid peer-to-peer transactions. The final term that will be defined is cryptocurrency exchange. Also often referred to as “exchanges”, these are institutions that enable users to exchange cryptocurrencies for other cryptocurrencies and fiat currencies. In effect, they serve as intermediaries between cryptocurrency buyers and sellers, connecting demand with supply and enabling buyers to make their desired purchases using cryptos or fiats of their choice, according to which ones are supported by the individual exchange. In the world of buying and selling cryptocurrencies, exchanges are the engines of the industry, in a similar way to how banks are the drivers of offline economies. The level of speed and security offered by a cryptocurrency exchange is often the difference between a profitable transaction and an unqualified loss. In a market as dynamic as cryptocurrency trading, delays of even a few minutes can have dramatic results, as big hitters like Bitcoin have been known to lose as much as 50% of their value in just a few hours. In order for cryptocurrency trading to be able to go truly mainstream, it is imperative that an exchange solution will be created that enables users and investors to move seamlessly through the market and execute transactions instantaneously, as is obtainable in fiat currency markets.
PROBLEM STATEMENT Presently, cryptocurrency trading is not suffering from a lack of interest, but there is a considerable infrastructural barrier to entry into the market. The available platforms generally cannot deal with the sheer volume of transactions and the required speed of processing transactions, causing many existing and potential investors to become frustrated and lose interest in the market. The three major problems facing the cryptocurrency buying and selling space can be itemized and broken down as follows: - Lack of speed: In the space of a few minutes, it is not unheard of for cryptocurrencies to gain as much as 30% on the market. As with any other type of dynamic market trading activity, the ability to predict and react to quick-fire changes is key to the profitability of the trading operation. When market participants are not able to get their purchase and selling orders processed in a manner that matches the dynamism of the marketplace they operate in, this usually results in losses and a resultant loss of appetite for involvement in that market space. - Security breaches: Trading platforms and cryptocurrency exchanges have been the targets of sustained and regular attacks from hackers, fraudsters and a number of other undesirable elements. In a few high profile cases, they have actually been successful, eventually making away with hundreds of millions of dollars’ worth of client cryptocurrency funds and leaving both platform and customer financially wrecked. A few customers who have managed to get past the buying and selling process with no incident have had the misfortune of using exchanges without adequate cybersecurity measures in place, and this has led to their cryptocurrency wallets being hacked, and millions of dollars’ worth of anonymous, untraceable coins being stolen. These stories also receive a substantial amount of media airplay, which feeds into an existing narrative of cryptocurrency being some sort of scam, and this further alienates potential investors and participants. - Transaction fees: Several platforms have delivered unpleasant surprises to their users in the form of excessive transaction fees. Perhaps as a result of the lack of volume resulting from their poor trading infrastructure and bad liquidity position, a number of cryptocurrency trading platforms try to make up for the revenue lost to poor transaction volumes by charging high transaction fees. In essence, the idea is that instead of fixing the problems leading to slow transactions and the resultant low transaction volumes, users would simply be charged more to make up for the revenue shortfall. This means that investors lose both ways, both to the low speed transaction execution and poor security offered by most existing cryptocurrency trading platforms, and high transaction fees for the few trades that do manage to go through. SLT FRAMEWORK Using these problems as an existential barometer, SLT has created a trading platform that is focused on the needs of its users before anyone else. The platform focuses on revolutionizing transaction speeds and achieving instantaneous execution by making use of blockchain processing instead of centralized processing. This solution will also exponentially improve upon the existing security profiles of competing platforms because it is practically impossible to hack a blockchain. Use of the SLT token will also eventually reduce transaction fee and speed up transactions using blockchain technology. Platform Goals The overall aim of SLT is to create a fast, simple, safe and clearly defined platform that everyone can understand without hidden intentions and costs. The platform also aims to emulate the very operational logic of the blockchain in its operations by catering to a decentralized market. Instead of appealing to only a fraction of the available global market, SLT will allow anyone to have access to the platform, and it ensure that equal chances are given to all members to earn. The final aim of SLT is to be able to deliver on the promise of instant payments and withdrawals using blockchain technology. Future Expansion Plans The launch of the SLT token is a part of a strategy that will be instituted to reduce transaction fees for users and eventually to speed up transactions. A key part of this strategy is the opening of the SLT cryptocurrency exchange. Combining these two solutions, it is the hope that users who currently face problems with opening different wallets and with withdrawing money they earn can find a quick and easy resolution to these issues. The platform will have a wallet exchanger and a digital asset exchanger in one place for the first time, giving users as much flexibility as they need to access and convert their money rapidly so as to be able to keep up with the dynamics and vagaries of the cryptocurrency trading market. Eventually, it is expected that users will even have the opportunity to make payments and withdraw money using the SLT Card, which will be integrated with major existing fiat providers to give maximum flexibility across crypto and fiat channels to SLT platform users. Pre ICO – 1 million 1st Round - 1 million 2nd Round - 3 million Price in Pre ICO= 0.10$ Price in 1.round =0.30$ Price in 2.round =0.50$ Action Plan Adding SLT on other exchanges Digital asset Exchanger ( multi-cryptocurrency exchange) Listing on CoinMarketCap Wallet exchanger Debit Card and adding other cards that will allow buying and withdrawals Mobile app available for iOS and Android Referral bonuses in ICO period: 5% 5% Bonus from each purchase made from your referral
Roadmap December 2017 Completion of platform conceptualization and ideation processes, followed by the commencement of preliminary development, design and integration work. March 2018 Pre-ICO begins: At this stage, investors will be able to buy SLT tokens at a special price of $0.10, which gives them a first-mover advantage over later investors during the ICO. ICO commences: The ICO will hold in two stages, giving investors the opportunity to purchase SLT tokens at $0.30 and $0.50 respectively, following a price-rise caused by the pre-ICO demand. March 2018 ICO ends: Investors will no longer be able to purchase SLT tokens directly from the ICO platform, but the tokens may be available from third party platforms like cryptocurrency exchanges. 2018 (all-year) Development and integration of Digital asset Exchanger ( multi-cryptocurrency exchange) and Wallet exchanger, develop breakthrough blockchain technologies Launch of mobile app for iOS and Android 2019 The full SLT platform will be launched offering the complete range of proposed functionalities after a year of development and integration. Later that year, the SLT card will also be launched, giving users extra flexibility across various fiat and cryptocurrency exchange mediums.
CONCLUSION SLT is the long-awaited platform that will permanently change how casual users and seasoned investment veterans interact with the cryptocurrency trading market. The important ways in which SLT will revolutionize the cryptocurrency trading space are as follows: The platform will severely cut down on time lost due to transaction delays and slow execution Making use of the multifunctionality of a wallet exchanger and a digital asset exchanger in the same place, the SLT platform will exponentially increase the speed with which users may access their funds and convert them into the desired format of their choice SLT will make use of blockchain technology to substantially increase the speed of transaction processing. Currently, many competing platforms make use of silo processing, which is heavily limited by available physical infrastructure. SLT embraces the blockchain at an elemental level, applying the principle of group processing to free up what has hitherto been an operational bottleneck. The use of blockchain technology as the basis of the platform will increase its security profile and make it an exceptionally difficult target for hackers, thieves and fraudsters. The SLT token will provide an quick and easy platform for cryptocurrency trading for users who do not want to deal with the delays involved in opening and accessing different wallets. Users of SLT tokens will experience substantially reduced transaction fees in addition to enhanced transaction speed Eventually, the launch of the SLT Card will take the concept beyond the point that the entire industry is at right now. This card will be used both as a means of paying in and withdrawing money from the platform, and its activation with a major real-world fiat provider will give users a totally unprecedented level of inter-connectedness between cryptocurrency coins and fiat.
DISCLAIMERS The SLT service and the SLT platform are provided strictly on an “as available” and "as is" basis. No assurances or representations of any type, direct or otherwise, are made regarding the operation of the service or the content, information, materials, or products displayed on the website. No express or implied representations or warranties regarding the SLT service and website, or the products or services provided therein are made. Therefore, any implied warranties of SLT merchantability, fitness for a particular purpose, and non-infringement are expressly disclaimed and excluded. In addition, we make no representation that the operation of our service will be uninterrupted or error free, and we will not be liable for the consequences of any interruptions or errors be they direct, secondary, related, penal, or consequential. SLT, its officers, representatives, employees, managers, and salespersons, shall not in any way hold any liability for any loss/damages (direct or indirect) rising out of or in connection with your use of or your inability to use the SLT service and website, even if we have been duly advised of the possibility of such damages. SLT is not an investment. There is no guarantee that the SLT you purchase will increase in value and/or provide any return. SLT does not confer exclusive ownership or arbitrary right to control. Possession of SLT tokens does not grant the holder exclusive ownership or sole equity in the SLT platform as a whole. No one individual has exclusive rights or power over the SLT platform. The purchaser’s SLT can only be accessed with login credentials selected by the purchaser. The loss of these credentials will result in the loss of SLT. To prevent such a situation, it is strongly recommended that the holder should safely store credentials in one or more backup locations that are geographically separated from the working location, and are accessible in the event of an emergency. As they grow in popularity and application, Blockchain technologies have also become subject to regulatory attention and action by government and financial industry organisations around the world. The functioning of the SLT platform and SLT tokens could thus be impacted by any regulatory inquiries or actions, including but not limited to restrictions on the use or possession of digital tokens like SLT, which could impede or limit the development of the SLT platform. Following the token sale and the development of the initial version of the SLT platform, it is possible that blockchain-based platforms could be established, which operate using same open source code and open source protocol underlying the SLT platform. The SLT platform may have to compete with these alternative platforms, which could potentially negatively impact the performance of the SLT platform and SLT. It is possible that the SLT platform will not be used by large numbers of individuals, and that there will be limited public interest in the creation and development of distributed applications. Such a lack of interest could impact the development of the SLT platform and therefore the potential uses or value of SLT. The SLT platform is presently under development and may undergo significant changes before its full release. Any expectations regarding the form and functionality of SLT or the SLT platform held by the purchaser may not be met upon release, for any number of reasons including a change in the design and implementation plans and execution of the SLT platform. Hackers or other groups or organizations may attempt to interfere with the SLT platform or the availability of SLT in any number of ways, including without limitation denial of service attacks, Sybil attacks, spoofing, smurfing, malware attacks, or consensus-based attacks. The SLT platform consists of software that is based on open-source software. There is a risk that the SLT team, or other third parties may intentionally or unintentionally introduce weaknesses or bugs into the core infrastructural elements of the SLT platform, interfering with the use of or causing the loss of SLT and/or SLT. Advances in cryptography, or technical advances such as the development of quantum computers, could present risks to crypto currencies and the SLT platform, which could result in the theft or loss of SLT and/or SLT. While SLT should not be viewed as an investment, it may return value over time. That value may be limited if the SLT platform lacks use and adoption. If this becomes the case, there may be few or no profits to draw from, or even a loss of your initial investment. It is possible that the SLT platform malfunctions in an unfavorable way, including but not limited to one that results in the loss of information or data. Crypto-currency is a relatively new and untested technology. In addition to the risks set forth here, there are risks that the SLT team cannot anticipate. Risks may further materialize as unanticipated combinations or variations of the risks set forth here.
submitted by SLToken to u/SLToken [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]

Excel: Conditional formatting using icon sets? (2 ... How do i right align an icon set arrow under conditional ... Excel Icon Sets Conditional Formatting Reports - YouTube Conditional Formatting  Highlight Cells, Top bottom ,Data ... Conditional Formatting for Icon Sets - How to use Icon ...

I'm trying to use the Icon Set green, yellow and red. For a negative percentage, I would like to use the Red Icon. Any percent above 90 should use the Yellow one. Below 90 percent it has to be the Green Icon. I tried changing several conditions in the rules for the conditional formatting but I wasn't successful. Conditional formatting with icon sets- copy to entire row. Ask Question Asked 2 years, 8 ... then set the formula to evaluate if the difference was negative or positive (greater than or less than 0), if it was positive there is an up arrow and if negative there is a down arrow. I made the new row small enough that only the arrow shows and the number doesn't, and I don't have borders on the two ... Click on the Advanced Controls to set the properties of the icons based on the data properties. This type of dialog box should look familiar as it is similar to the previous boxes for conditional formatting. Opening this window shows Icons for each Rule in the list. To adjust an icon Click on the Drop Down Arrow next to the icon you wish to ... I am looking to apply conditional formatting to all the cells in my sheet and highlight cells that contain a formula. I know that I can format cells based on a custom formula, and I know that I can use the ISFORMULA() function to determine a cell contains a formula. e.g. Conditional formatting with color and icon for table in print layout. Ask Question Asked 4 months ago. Active 4 months ago. Viewed 81 times 2. I used the conditional formatting option in the attribute table (figure 01) in QGIS 3.12. I created a layout with the map and the attributes table (figure 02). With the option “apply layer conditional styling colors" (figure 03). But the icon (symbol ...

[index] [14304] [8398] [48593] [43648] [40177] [706] [31526] [19945] [14225] [44597]

Excel: Conditional formatting using icon sets? (2 ...

Conditional Formatting is used to highlight interesting cells or ranges of cells, and visualize data by changing the appearance of cells based on specified c... Conditional Formatting Highlight Cells,Top bottom ,Data Bars, Icon sets, Color scale Best explanation in Hindi Play with data Hello Guys, In this video ... Try watching this video on www.youtube.com, or enable JavaScript if it is disabled in your browser. Excel: Conditional formatting using icon sets? Helpful? Please support me on Patreon: https://www.patreon.com/roelvandepaar With thanks & praise to God, and ... This shows a way to use conditional formatting icon sets with a relative reference formula.

#