Tutorial: Creating a Real-Time Bitcoin Ticker in JavaScript

Start learning programming " Here is the best Platforms for you"

Step by step Help for you:
Platforms Node.js Frontend Development iOS Android IoT & Hybrid Apps Electron Cordova React Native Xamarin Linux ContainersOS X Command-Line ScreensaverswatchOS JVM Salesforce Amazon Web Services Windows IPFS Fuse HerokuProgramming Languages JavaScript Promises Standard Style Must Watch Talks Tips Network Layer Micro npm Packages Mad Science npm Packages Maintenance Modules - For npm packages npmAVA - Test runner ESLintSwift Education PlaygroundsPython Rust Haskell PureScript Go Scala Ruby EventsClojure ClojureScript Elixir Elm Erlang Julia Lua C C/C++ R D Common Lisp Perl Groovy Dart JavaRxJava Kotlin OCaml Coldfusion Fortran .NET PHP Delphi Assembler AutoHotkey AutoIt Crystal TypeScriptFront-end Development ES6 Tools Web Performance Optimization Web Tools CSS Critical-Path Tools Scalability Must-Watch Talks ProtipsReact RelayWeb Components Polymer Angular 2 Angular Backbone HTML5 SVG Canvas KnockoutJS Dojo Toolkit Inspiration Ember Android UI iOS UI Meteor BEM Flexbox Web Typography Web Accessibility Material Design D3 Emails jQuery TipsWeb Audio Offline-First Static Website Services A-Frame VR - Virtual reality Cycle.js Text Editing Motion UI Design Vue.js Marionette.js Aurelia Charting Ionic Framework 2 Chrome DevToolsBack-end Development Django Flask Docker Vagrant Pyramid Play1 Framework CakePHP Symfony EducationLaravel EducationRails GemsPhalcon Useful .htaccess Snippets nginx Dropwizard Kubernetes LumenComputer Science University Courses Data Science Machine Learning TutorialsSpeech and Natural Language Processing SpanishLinguistics Cryptography Computer Vision Deep Learning - Neural networks TensorFlowDeep Vision Open Source Society University Functional Programming Static Analysis & Code Quality Software-Defined NetworkingBig Data Big Data Public Datasets Hadoop Data Engineering StreamingTheory Papers We Love Talks Algorithms Algorithm Visualizations Artificial Intelligence Search Engine Optimization Competitive Programming MathBooks Free Programming Books Free Software Testing Books Go Books R Books Mind Expanding Books Book AuthoringEditors Sublime Text Vim Emacs Atom Visual Studio CodeGaming Game Development Game Talks Godot - Game engine Open Source Games Unity - Game engine Chess LÖVE - Game engine PICO-8 - Fantasy consoleDevelopment Environment Quick Look Plugins - OS X Dev Env Dotfiles Shell Command-Line Apps ZSH Plugins GitHub Browser Extensions Cheat SheetGit Cheat Sheet & Git Flow Git Tips Git Add-ons SSH FOSS for DevelopersEntertainment Podcasts Email NewslettersDatabases Database MySQL SQLAlchemy InfluxDB Neo4j Doctrine - PHP ORM MongoDBMedia Creative Commons Media Fonts Codeface - Text editor fonts Stock Resources GIF Music Open Source Documents Audio VisualizationLearn CLI Workshoppers - Interactive tutorials Learn to Program Speaking Tech Videos Dive into Machine Learning Computer HistorySecurity Application Security Security CTF - Capture The Flag Malware Analysis Android Security Hacking Honeypots Incident ResponseContent Management System Umbraco Refinery CMSMiscellaneous JSON Discounts for Student Developers Slack CommunitiesConferences GeoJSON Sysadmin Radio Awesome Analytics Open Companies REST Selenium Endangered Languages Continuous Delivery Services Engineering Free for Developers Bitcoin Answers - Stack Overflow, Quora, etc Sketch - OS X design app Places to Post Your Startup PCAPTools Remote Jobs Boilerplate Projects Readme Tools Styleguides Design and Development Guides Software Engineering Blogs Self Hosted FOSS Production Apps Gulp AMA - Ask Me Anything AnswersOpen Source Photography OpenGL Productivity GraphQL Transit Research Tools Niche Job Boards Data Visualization Social Media Share Links JSON Datasets Microservices Unicode Code Points Internet of Things Beginner-Friendly Projects Bluetooth Beacons Programming Interviews Ripple - Open source distributed settlement network Katas Tools for Activism TAP - Test Anything Protocol Robotics MQTT - "Internet of Things" connectivity protocol Hacking Spots For Girls Vorpal - Node.js CLI framework OKR Methodology - Goal setting & communication best practices Vulkan LaTeX - Typesetting language Network Analysis Economics - An economist's starter kit
Few more resources:
submitted by Programming-Help to Programming_Languages [link] [comments]

Just got my first full time job offer this weekend as a self taught developer!

Beyond excited and honestly looking at the offer email feels surreal! I've completely self taught myself, and it's probably the most dedicated I've been to anything. It's been a little over one year since my first commit to Github, and I can finally say all that time has paid off. Starting the first week of Jan, I am a full time front-end web developer.
I spent a little over the past month applying for jobs, eventually interviewing at two different places within the past two weeks. Imposter syndrome is no joke. I was so nervous to start applying and interviewing, but honestly I just had to do it and kid you not, I got an offer after my second interview for the salary I asked for.
A huge thank you to this sub! I quietly frequent this sub daily and have since I started web development.
Edit: A lot of people are asking how I self taught myself, and while that whole situation could take up a novel, here's the general idea of what I did.
I spent the first 3-4 months really learning CSS. I learned Flexbox, some CSS Grid, responsive design, and SASS. I picked up Bootstrap as well because that's what I saw everyone buzzing about. HTML literally took like two weeks to get the gist of it, so the deeper into CSS I got, the more I spent with HTML, so it kinda worked out like that. This entire time I was just taking websites designs off of Dribbble and Pinterest and building them as non functioning skeletons. Doing that also helped quite a bit with my sense for web design.
After I really learned CSS, I hoped into Javascript and spent the remainder of my time (8-9 months) working with it. I focused on the basics starting out, working with the DOM, using JQuery etc. Moved on to React, Node, and learning ES6. This is when my JS knowledge really took off. Currently, I'm entirely comfortable working with arrays and objects, ES6 obj and array prototypes, asynchronous JS, can explain to you what closures are, can work with JSON, fetch data from API's, know difference between let and const, scope, etc. I can work with Node and most of projects use it. It really really helps to be comfortable with JS. It makes all the other stuff like CSS and HTML seem like a walk in the park in comparison. So build projects with it. If all you ever use it for is to add onClick handlers or classes to DOM elements, then you won't get too advanced with it. KNOWING JAVASCRIPT AS A WEB DEV IS SO DAMN IMPORTANT. My goal is to become a full-stack javascript dev, so I care about it and I'm biased. But I still think it's the most important programming language a web dev should without a doubt be comfortable with.
Also learn Git. Seriously use it for any project your building. Don't just put it off. Use it and learn it from the command line before you download a GUI for it.
I started with a Udemy course, think it was actually the Colt Steele course. I've also followed a couple Wed Bos courses. But I hate following online lessons like that, so I just sorta got the gist of what I should learn and then just started making things. Personally I learn by doing so it's whatever works best for you. Learning by immersion is my tactic! I only ever followed a tutorial to learn something specific for a personal project. Don't add these tutorial projects to your portfolio! You should only use tutorial projects to learn. The biggest key to my success was learning by building stuff! I've got tons of projects on my computer, some done and some half complete. Some look like spaghetti and others I'm proud of. I've freelanced and built a couple Wordpress websites for money in this time. I've also written a couple tutorial articles on Medium as well. If you can write a tutorial about something in terms that a person with little prior knowledge can grasp, you're on the right track.
My portfolio is built with React, Gatsby and GraphQL. It has a blog system set up. I also have an almost ready to deploy full-stack project built with the MERN stack. It's a fleet management application that allows a user to add customers, their customer's fleet vehicles, notes on those vehicles and service intervals on each vehicle for continued notifications. This app was built with my parents company in mind. I also have quite a few React apps in my GitHub. I play golf competitively so I built a golf stat tracking application, I also built a 30-day Bitcoin price tracker and price chart because I've been into crypto for a few years. The gist of this is that I build things that suit my interests. And as mentioned, I've freelanced a couple brochure style Wordpress websites as well as doing random things on Upwork.
When they tell you that learning comes from doing, it is no lie. If you branch out from tutorial projects and make up something on your own, the amount of knowledge you obtain from that is worth way more than any tutorial. If you don't have a full tutorial to hold your hand, you are forced to Google and read. That's the key I think.
I spent on average 3-4 hours almost every weekday working on Web Dev. Some weekends I would work a few hours each day as well, but I'm not the type of person to kill myself with work, so I made sure to take time away from development to focus on my hobbies. Most of my time was spent reading or watching tutorials to learn how to do something specific that would move along a personal project, reading, reading, writing some code, breaking stuff, reading.
Lastly, it's imperative you adopt a mindset that allows for you to realize that no matter what, you will encounter problems. Problems with code, problems with understanding a concept, etc. If you keep at it, overtime you'll realize that you can overcome most any problem thrown your way with persistence and dedication. You can't easily give up. If you give up out of frustration when you encounter a problem or something you can't do yet, then you won't be cut out for this. I've spent literal weeks being stuck on issues, but I've always pushed on and got it sorted. Every time that I figured something out, it added a percentage of confidence to myself. Confidence that assures me that no matter what, I will be able to figure it out. And that's better than acting like you know everything. You won't know everything, it's almost a guarantee. But having confidence in your problem solving skills makes this less scary.
submitted by skidmark_zuckerberg to webdev [link] [comments]

I gathered a bunch of data from my node and made a site to display it

I gathered a bunch of data from my node and made a site to display it
https://www.nodeupdate.com/ (updated regularly)
https://preview.redd.it/fy4hlq7dsik31.png?width=1361&format=png&auto=webp&s=cf363d941ef5df1c55fafff636baeb718aa867d9
I was surprised by how much useful information you can get from querying a node. I built this site using basic Bitcoin Core RPC commands like these: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC))
I am still working on the page, and hoping to have charts soon.
submitted by FunOptimizer42 to Bitcoin [link] [comments]

How to insert the current Bitcoin price dynamically into html?

Hey Guys,
I am trying to build a bitcoin price chart for fun, however I am not sure how to insert the Bitcoin price dynamically. I think I need to do this with json and innerHTML. Can someone point me in the right direction?
submitted by amifrisken to webdev [link] [comments]

Update chart upon state change. Using React and Chart.js

I am building a crypto currency dashboard using React and Chart.js (NOT react-chartjs-2) along with the crypto compare API.
I have gotten the app to reflect the API data in the state by using setState on the API response but I cannot figure out how to get the chart to re-rendeupdate once the new data is used in setState. I've searched all over the internet and found that you can use the .update() method on the chart object but I have not been able to successfully do so.
Below is the code for my LineGraph component, I'm hoping someone can help me out please :)

import React, { Component } from "react"; import Chart from "chart.js"; export default class LineGraph extends Component { constructor(props) { super(props); this.state = { chartData: [] }; } chart = React.createRef(); // Use this function to add new data to chart? Not sure how to implement /* addData(chart, data) { chart.data.datasets.forEach(dataset => { dataset.data.push(data); }); chart.update(); } */ componentDidMount() { const myChartRef = this.chart.current.getContext("2d"); const gradient = myChartRef.createLinearGradient(20, 500, 10, 20); gradient.addColorStop(0, "#75C6FF"); gradient.addColorStop(1, "#3E0B80"); // Custom plugin to change chart area background color Chart.pluginService.register({ beforeDraw: function(chart) { if ( chart.config.options.chartArea && chart.config.options.chartArea.backgroundColor ) { const ctx = chart.chart.ctx; const chartArea = chart.chartArea; ctx.save(); ctx.fillStyle = chart.config.options.chartArea.backgroundColor; ctx.fillRect( chartArea.left, chartArea.top, chartArea.right - chartArea.left, chartArea.bottom - chartArea.top ); ctx.restore(); } } }); new Chart(myChartRef, { type: "line", data: { //Bring in data labels: ["Jan", "Feb", "March"], datasets: [ { data: this.state.chartData, backgroundColor: gradient, pointBackgroundColor: "#fff", pointBorderColor: gradient, pointRadius: "5", hoverBackgroundColor: "#75C6FF", hoverBorderColor: gradient } ] }, options: { responsive: true, legend: { display: false }, scales: { xAxes: [ { gridLines: { color: "#535356" }, ticks: { fontColor: "#87889C" } } ], yAxes: [ { gridLines: { color: "#535356" }, ticks: { fontColor: "#87889C" } } ] } } }); const getChartData = () => { fetch( "https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH&tsyms=USD" ) .then(response => { return response.json(); }) .then(myJson => { const bitcoinPrice = myJson.BTC.USD; this.setState({ chartData: bitcoinPrice }); console.log(JSON.stringify(myJson)); }); }; getChartData(); } render() { return (
); } }
submitted by BabblingDruid to reactjs [link] [comments]

The core concepts of DTube's new blockchain

Dear Reddit community,
Following our announcement for DTube v0.9, I have received countless questions about the new blockchain part, avalon. First I want to make it clear, that it would have been utterly impossible to build this on STEEM, even with the centralized SCOT/Tribes that weren't available when I started working on this. This will become much clearer as you read through the whole wall of text and understand the novelties.
SteemPeak says this is a 25 minutes read, but if you are truly interested in the concept of a social blockchain, and you believe in its power, I think it will be worth the time!

MOVING FORWARD

I'm a long time member of STEEM, with tens of thousands of staked STEEM for 2 years+. I understand the instinctive fear from the other members of the community when they see a new crypto project coming out. We've had two recent examples recently with the VOICE and LIBRA annoucements, being either hated or ignored. When you are invested morally, and financially, when you see competitors popping up, it's normal to be afraid.
But we should remember competition is healthy, and learn from what these projects are doing and how it will influence us. Instead, by reacting the way STEEM reacts, we are putting our heads in the sand and failing to adapt. I currently see STEEM like the "North Korea of blockchains", trying to do everything better than other blockchains, while being #80 on coinmarketcap and slowly but surely losing positions over the months.
When DLive left and revealed their own blockchain, it really got me thinking about why they did it. The way they did it was really scummy and flawed, but I concluded that in the end it was a good choice for them to try to develop their activity, while others waited for SMTs. Sadly, when I tried their new product, I was disappointed, they had botched it. It's purely a donation system, no proof of brain... And the ultra-majority of the existing supply is controlled by them, alongside many other 'anti-decentralization' features. It's like they had learnt nothing from their STEEM experience at all...
STEEM was still the only blockchain able to distribute crypto-currency via social interactions (and no, 'donations' are not social interactions, they are monetary transfers; bitcoin can do it too). It is the killer feature we need. Years of negligence or greed from the witnesses/developers about the economic balance of STEEM is what broke this killer feature. Even when proposing economical changes (which are actually getting through finally in HF21), the discussions have always been centered around modifying the existing model (changing the curve, changing the split, etc), instead of developing a new one.
You never change things by fighting the existing reality.
To change something, build a new model that makes the existing model obsolete.
What if I built a new model for proof of brain distribution from the ground up? I first tried playing with STEEM clones, I played with EOS contracts too. Both systems couldn't do the concepts I wanted to integrate for DTube, unless I did a major refactor of tens of thousands of lines of code I had never worked with before. Making a new blockchain felt like a lighter task, and more fun too.
Before even starting, I had a good idea of the concepts I'd love to implement. Most of these bullet points stemmed from observations of what happened here on STEEM in the past, and what I considered weaknesses for d.tube's growth.

NO POWER-UP

The first concept I wanted to implement deep down the core of how a DPOS chain works, is that I didn't want the token to be staked, at all (i.e. no 'powering up'). The cons of staking for a decentralized social platform are obvious: * complexity for the users with the double token system. * difficulty to onboard people as they need to freeze their money, akin to a pyramid scheme.
The only good thing about staking is how it can fill your bandwidth and your voting power when you power-up, so you don't need to wait for it to grow to start transacting. In a fully-liquid system, your account ressources start at 0% and new users will need to wait for it to grow before they can start transacting. I don't think that's a big issue.
That meant that witness elections had to be run out of the liquid stake. Could it be done? Was it safe for the network? Can we update the cumulative votes for witnesses without rounding issues? Even when the money flows between accounts freely?
Well I now believe it is entirely possible and safe, under certain conditions. The incentive for top witnesses to keep on running the chain is still present even if the stake is liquid. With a bit of discrete mathematics, it's easy to have a perfectly deterministic algorithm to run a decentralized election based off liquid stake, it's just going to be more dynamic as the funds and the witness votes can move around much faster.

NO EARLY USER ADVANTAGE

STEEM has had multiple events that influenced the distribution in a bad way. The most obvious one is the inflation settings. One day it was hella-inflationary, then suddently hard fork 16 it wasn't anymore. Another major one, is the non-linear rewards that ran for a long time, which created a huge early-user advantage that we can still feel today.
I liked linear rewards, it's what gives minnows their best chance while staying sybil-resistant. I just needed Avalon's inflation to be smart. Not hyper-inflationary like The key metric to consider for this issue, is the number of tokens distributed per user per day. If this metric goes down, then the incentive for staying on the network and playing the game, goes down everyday. You feel like you're making less and less from your efforts. If this metric goes up, the number of printed tokens goes up and the token is hyper-inflationary and holding it feels really bad if you aren't actively earning from the inflation by playing the game.
Avalon ensures that the number of printed tokens is proportional to the number of users with active stake. If more users come in, avalon prints more tokens, if users cash-out and stop transacting, the inflation goes down. This ensures that earning 1 DTC will be about as hard today, tomorrow, next month or next year, no matter how many people have registered or left d.tube, and no matter what happens on the markets.

NO LIMIT TO MY VOTING POWER

Another big issue that most steemians don't really know about, but that is really detrimental to STEEM, is how the voting power mana bar works. I guess having to manage a 2M SP delegation for @dtube really convinced me of this one.
When your mana bar is full at 100%, you lose out the potential power generation, and rewards coming from it. And it only takes 5 days to go from 0% to 100%. A lot of people have very valid reasons to be offline for 5 days+, they shouldn't be punished so hard. This is why all most big stake holders make sure to always spend some of their voting power on a daily basis. And this is why minnows or smaller holders miss out on tons of curation rewards, unless they delegate to a bidbot or join some curation guild... meh. I guess a lot of people would rather just cash-out and don't mind the trouble of having to optimize their stake.
So why is it even a mana bar? Why can't it grow forever? Well, everything in a computer has to have a limit, but why is this limit proportional to my stake? While I totally understand the purpose of making the bandwidth limited and forcing big stake holders to waste it, I think it's totally unneeded and inadapted for the voting power. As long as the growth of the VP is proportional to the stake, the system stays sybil-resistant, and there could technically be no limit at all if it wasn't for the fact that this is ran in a computer where numbers have a limited number of bits.
On Avalon, I made it so that your voting power grows virtually indefinitely, or at least I don't think anyone will ever reach the current limit of Number.MAX_SAFE_INTEGER: 9007199254740991 or about 9 Peta VP. If you go inactive for 6 months on an account with some DTCs, when you come back you will have 6 months worth of power generation to spend, turning you into a whale, at least for a few votes.
Another awkward limit on STEEM is how a 100% vote spends only 2% of your power. Not only STEEM forces you to be active on a daily basis, you also need to do a minimum of 10 votes / day to optimize your earnings. On Avalon, you can use 100% of your stored voting power in a single mega-vote if you wish, it's up to you.

A NEW PROOF-OF-BRAIN

No Author rewards

People should vote with the intent of getting a reward from it. If 75% of the value forcibly goes to the author, it's hard to expect a good return from curation. Steem is currently basically a complex donation platform. No one wants to donate when they vote, no matter what they will say, and no matter how much vote-trading, self-voting or bid-botting happens.
So in order to keep a system where money is printed when votes happen, if we cannot use the username of the author to distribute rewards, the only possibility left is to use the list of previous voters aka "Curation rewards". The 25% interesting part of STEEM, that has totally be shadowed by the author rewards for too long.

Downvote rewards

STEEM has always suffered from the issue that the downvote button is unused, or when it's used, it's mostly for evil. This comes from the fact that in STEEM's model, downvotes are not eligible for any rewards. Even if they were, your downvote would be lowering the final payout of the content, and your own curation rewards...
I wanted Avalon's downvotes to be completely symmetric to the upvotes. That means if we revert all the votes (upvotes become downvotes and vice versa), the content should still distribute the same amount of tokens to the same people, at the same time.

No payment windows

Steem has a system of payments windows. When you publish a content, it opens a payment window where people can freely upvote or downvote to influence the payout happening 7 days later. This is convenient when you want a system where downvotes lower rewards. Waiting 7 days to collect rewards is also another friction point for new users, some of them might never come back 7 days later to convince themselves that 'it works'. On avalon, when you are part of the winners of curation after a vote, you earn it instantly in your account, 100% liquid and transferable.

Unlimited monetization in time

Indeed, the 7 days monetization limit has been our biggest issue for our video platform since day 8. This incentivized our users to create more frequent, but lesser quality content, as they know that they aren't going to earn anything from the 'long-haul'. Monetization had to be unlimited on DTube, so that even a 2 years old video could be dug up and generate rewards in the far future.
Infinite monetization is possible, but as removing tokens from a balance is impossible, the downvotes cannot remove money from the payout like they do on STEEM. Instead, downvotes print money in the same way upvotes do, downvotes still lower the popularity in the hot and trending and should only rewards other people who downvoted the same content earlier.

New curation rewards algorithm

STEEM's curation algorithm isn't stupid, but I believe it lacks some elegance. The 15 minutes 'band-aid' necessary to prevent curation bots (bots who auto vote as fast as possible on contents of popular authors) that they added proves it. The way is distributes the reward also feels very flat and boring. The rewards for my votes are very predictable, especially if I'm the biggest voter / stake holder for the content. My own vote is paying for my own curation rewards, how stupid is that? If no one elses votes after my big vote despite a popularity boost, it probably means I deserve 0 rewards, no?
I had to try different attempts to find an algorithm yielding interesting results, with infinite monetization, and without obvious ways to exploit it. The final distribution algorithm is more complex than STEEM's curation but it's still pretty simple. When a vote is cast, we calculate the 'popularity' at the time of the vote. The first vote is given a popularity of 0, the next votes are defined by (total_vp_upvotes - total_vp_downvotes) / time_since_1st_vote. Then we look into the list of previous votes, and we remove all votes in the opposite direction (up/down). The we remove all the votes with a higher popularity if its an upvote, or the ones with a lower popularity if its a downvote. The remaining votes in the list are the 'winners'. Finally, akin to STEEM, the amount of tokens generated by the vote will be split between winners proportionally to the voting power spent by each (linear rewards - no advantages for whales) and distributed instantly. Instead of purely using the order of the votes, Avalon distribution is based on when the votes are cast, and each second that passes reduces the popularity of a content, potentially increasing the long-term ROI of the next vote cast on it.
Graph It's possible to chart the popularity that influences the DTC monetary distribution directly in the d.tube UI
This algorithm ensures there are always losers. The last upvoter never earns anything, also the person who upvoted at the highest popularity, and the one who downvoted at the lowest popularity would never receive any rewards for their vote. Just like the last upvoter and last downvoter wouldn't either. All the other ones in the middle may or may not receive anything, depending on how the voting and popularity evolved in time. The one with an obvious advantage, is the first voter who is always counted as 0 popularity. As long as the content stays at a positive popularity, every upvote will earn him rewards. Similarly, being the first downvoter on an overly-popular content could easily earn you 100% rewards on the next downvote that could be from a whale, earning you a fat bonus.
While Avalon doesn't technically have author rewards, the first-voter advantage is strong, and the author has the advantage of always being the first voter, so the author can still earn from his potentially original creations, he just needs to commit some voting power on his own contents to be able to publish.

ONE CHAIN <==> ONE APP

More scalable than shared blockchains

Another issue with generalistic blockchains like ETH/STEEM/EOS/TRX, which are currently hosting dozens of semi-popular web/mobile apps, is the reduced scalability of such shared models. Again, everything in a computer has a limit. For DPOS blockchains, 99%+ of the CPU load of a producing node will be to verify the signatures of the many transactions coming in every 3 seconds. And sadly this fact will not change with time. Even if we had a huge breakthrough on CPU speeds today, we would need to update the cryptographic standards for blockchains to keep them secure. This means it would NOT become easier to scale up the number of verifiable transactions per seconds.
Oh, but we are not there yet you're thinking? Or maybe you think that we'll all be rich if we reach the scalability limits so it doesn't really matter? WRONG
The limit is the number of signature verifications the most expensive CPU on the planet can do. Most blockchains use the secp256k1 curve, including Bitcoin, Ethereum, Steem and now Avalon. It was originally chosen for Bitcoin by Satoshi Nakamoto probably because it's decently quick at verifying signatures, and seems to be backdoor-proof (or else someone is playing a very patient game). Maybe some other curves exist with faster signature verification speed, but it won't be improved many-fold, and will likely require much research, auditing, and time to get adopted considering the security implications.
In 2015 Graphene was created, and Bitshares was completely rewritten. This was able to achieve 100,000 transaction per second on a single machine, and decentralized global stress testing achieved 18,000 transactions per second on a distributed network.
So BitShares/STEEM and other DPOS graphene chains in production can validate at most 18000 txs/sec, so about 1.5 billion transactions per day. EOS, Tendermint, Avalon, LIBRA or any other DPOS blockchain can achieve similar speeds, because there's no planet-killing proof-of-works, and thanks to the leader-based/democratic system that reduces the number of nodes taking part in the consensus.
As a comparison, there are about 4 billion likes per day on instagram, so you can probably double that with the actual uploads, stories and comments, password changes, etc. The load is also likely unstable through the day, probably some hours will go twice as fast as the average. You wouldn't be able to fit Instagram in a blockchain, ever, even with the most scalable blockchain tech on the world's best hardware. You'd need like a dozen of those chains. And instagram is still a growing platform, not as big as Facebook, or YouTube.
So, splitting this limit between many popular apps? Madness! Maybe it's still working right now, but when many different apps reach millions of daily active users plus bots, it won't fit anymore.
Serious projects with a big user base will need to rethink the shared blockchain models like Ethereum, EOS, TRX, etc because the fees in gas or necessary stake required to transact will skyrocket, and the victims will be the hordes of minnows at the bottom of the distribution spectrum.
If we can't run a full instagram on a DPOS blockchain, there is absolutely no point trying to run medium+reddit+insta+fb+yt+wechat+vk+tinder on one. Being able to run half an instagram is already pretty good and probably enough to actually onboard a fair share of the planet. But if we multiply the load by the number of different app concepts available, then it's never gonna scale.
DTube chain is meant for the DTube UI only. Please do not build something unrelated to video connecting to our chain, we would actively do what we can to prevent you from growing. We want this chain to be for video contents only, and the JSON format of the contents should always follow the one used by d.tube.
If you are interested in avalon tech for your project isn't about video, it's strongly suggested to fork the blockchain code and run your own avalon chain with a different origin id, instead of trying to connect your project to dtube's mainnet. If you still want to do it, chain leaders would be forced to actively combat your project as we would consider it as useless noise inside our dedicated blockchain.

Focused governance

Another issue of sharing a blockchain, is the issues coming up with the governance of it. Tons of features enabled by avalon would be controversial to develop on STEEM, because they'd only benefit DTube, and maybe even hurt/break some other projects. At best they'd be put at the bottom of a todo list somewhere. Having a blockchain dedicated to a single project enables it to quickly push updates that are focused on a single product, not dozens of totally different projects.
Many blockchain projects are trying to make decentralized governance true, but this is absolutely not what I am interested in for DTube. Instead, in avalon the 'init' account, or 'master' account, has very strong permissions. In the DTC case, @dtube: * will earn 10% fees from all the inflation * will not have to burn DTCs to create accounts * will be able to do certain types of transactions when others can't * * account creation (during steem exclusivity period) * * transfers (during IEO period) * * transfering voting power and bandwidth ressources (used for easier onboarding)
For example, for our IEO we will setup a mainnet where only @dtube is allowed to transfer funds or vote until the IEO completes and the airdrop happens. This is also what enabled us to create a 'steem-only' registration period on the public testnet for the first month. Only @dtube can create accounts, this way we can enforce a 1 month period where users can port their username for free, without imposters having a chance to steal usernames. Through the hard-forking mechanism, we can enable/disable these limitations and easily evolve the rules and permissions of the blockchain, for example opening monetary transfers at the end of our IEO, or opening account creation once the steem exclusivity ends.
Luckily, avalon is decentralized, and all these parameters (like the @dtube fees, and @dtube permissions) are easily hardforkable by the leaders. @dtube will however be a very strong leader in the chain, as we plan to use our vote to at least keep the #1 producing node for as long as we can.
We reserve the right to 'not follow' an hardfork. For example, it's obvious we wouldn't follow something like reducing our fees to 0% as it would financially endanger the project, and we would rather just continue our official fork on our own and plug d.tube domain and mobile app to it.
On the other end of the spectrum, if other leaders think @dtube is being tyranical one way or another, leaders will always have the option of declining the new hardforks and putting the system on hold, then @dtube will have an issue and will need to compromise or betray the trust of 1/3 of the stake holders, which could reveal costly.
The goal is to have a harmounious, enterprise-level decision making within the top leaders. We expect these leaders to be financially and emotionally connected with the project and act for good. @dtube is to be expected to be the main good actor for the chain, and any permission given to it should be granted with the goal of increasing the DTC marketcap, and nothing else. Leaders and @dtube should be able to keep cooperation high enough to keep the hard-forks focused on the actual issues, and flowing faster than other blockchain projects striving for a totally decentralized governance, a goal they are unlikely to ever achieve.

PERFECT IMBALANCE

A lot of hard-forking

Avalon is easily hard-forkable, and will get hard-forked often, on purpose. No replays will be needed for leaders/exchanges during these hard-forks, just pull the new hardfork code, and restart the node before the hard-fork planned time to stay on the main fork. Why is this so crucial? It's something about game theory.
I have no former proof for this, but I assume a social and financial game akin to the one played on steem since 2016 to be impossible to perfectly balance, even with a thourough dichotomical process. It's probably because of some psychological reason, or maybe just the fact that humans are naturally greedy. Or maybe it's just because of the sheer number of players. They can gang up together, try to counter each others, and find all sorts of creative ideas to earn more and exploit each other. In the end, the slightest change in the rules, can cause drastic gameplay changes. It's a real problem, luckily it's been faced by other people in the past.
Similarly to what popular and succesful massively multiplayer games have achieved, I plan to patch or suggest hard-forks for avalon's mainnet on a bi-monthly basis. The goal of this perfect imbalance concept, is to force players to re-discover their best strategy often. By introducing regular, small, and semi-controlled changes into this chaos, we can fake balance. This will require players to be more adaptative and aware of the changes. This prevents the game from becoming stale and boring for players, while staying fair.

Death to bots

Automators on the other side, will need to re-think their bots, go through the developement and testing phase again, on every new hard-fork. It will be an unfair cat-and-mouse game. Doing small and semi-random changes in frequent hard-forks will be a easy task for the dtube leaders, compared to the work load generated to maintain the bots. In the end, I hope their return on investment to be much lower compared to the bid-bots, up to a point where there will be no automation.
Imagine how different things would have been if SteemIt Inc acted strongly against bid-bots or other forms of automation when they started appearing? Imagine if hard-forks were frequent and they promised to fight bid-bots and their ilk? Who would be crazy enough to make a bid-bot apart from @berniesanders then?
I don't want you to earn DTCs unless you are human. The way you are going to prove you are human, is not by sending a selfie of you with your passport to a 3rd party private company located on the other side of the world. You will just need to adapt to the new rules published every two weeks, and your human brain will do it subconsciously by just playing the voting game and seeing the rewards coming.
All these concepts are aimed at directly improving d.tube, making it more resilient, and scale both technologically and economically. Having control over the full tech stack required to power our dapp will prevent issues like the one we had with the search engine, where we relied too heavily on a 3rd party tool, and that created a 6-months long bug that basically broke 1/3 of the UI.
While d.tube's UI can now totally run independently from any other entity, we kept everything we could working with STEEM, and the user is now able to transparently publish/vote/comment videos on 2 different chains with one click. This way we can keep on leveraging the generalistic good features of STEEM that our new chain doesn't focuses on doing, such as the dollar-pegged token, the author rewards/donation mechanism, the tribes/communities tokens, and simply the extra exposure d.tube users can get from other website (steemit.com, busy.org, partiko, steempeak, etc), which is larger than the number of people using d.tube directly.
The public testnet has been running pretty well for 3 weeks now, with 6000+ accounts registered, and already a dozen of independant nodes popping up and running for leaders. The majority of the videos are cross-posted on both chains and the daily video volume has slightly increased since the update, despite the added friction of the new 'double login' system and several UI bugs.
If you've read this article, I'm hoping to get some reactions from you in the comments section!
Some even more focused articles about avalon are going to pop on my blog in the following weeks, such as how to get a node running and running for leadewitness, so feel free to follow me to get more news and help me reach 10K followers ;)
submitted by nannal to dtube [link] [comments]

Sources for Bitcoin price

Where is the authoritative source for the Bitcoin price?
Well, there isn't one.
So differences in price for bitcoin occur at different marketplaces ... just as the price of a tomato is different at different grocery markets.
So there are various methods that attempt to consider various marketplaces to come up with a more sane, commonly available price.
For instance, Coindesk has their "Bitcoin Price Index", which they suggest the symbol XBP, and the method it is calculated is shown here:
CoinDesks's BPI is used by a number of financial media (e.g., Bloomberg/WJS) and trading products.
There's also the BraveNewCoin's BItcoin Liquid Index (BLX):
The BLX is used by NASDAQ.
The CME has its own "prices", BRR (Bitcoin Reference Rate) -- the "closing price" used for daily settlements, and BRTI (Bitcoin Real-time Index):
MVIS:
TradeBlock (XBX):
BitcoinAverage:
CoinTelegraph:
MVIS:
CoinMarketCap:
Messari OnChainFX:
Nomics:
Winkdex:
NYSE (NYXBT):
Others:
Charts:
Basket / Altcoin indexes:
Related:
submitted by cointastical to CryptoMarkets [link] [comments]

MIXIN ECOSYSTEM

Mixin is made out of a solitary hypothetically lasting Kernel, numerous unique Domains and diverse multipurpose Domain Extensions, to plan a broadened star topology • Mixin Kernel: At the center of the Mixin Network is the Mixin Kernel, which is an offbeat Byzantine blame tolerant coordinated non-cyclic chart. The primary capacity of the fundamental bit is to deal with the unspent exchanges yields from the restricted Kernel hubs. The primary part utilizes the UTXO model of Bitcoin for dealing with exchanges and the one - time key inference calculation of CryptoNote for protection. The Mixin Network has just a single focal piece, be that as it may, it can have numerous portion hubs, 50 to be correct. Every piece hub should promise 10,000 XIN and since there are just 500,000 XIN available for use, in this way, there can be close to 50 portion hubs. The job of piece hubs is to manage exchange approval and industriousness. • Mixin Domain: The next part in the multi-level arrangement of Mixin Network are the Mixin Domains. They are the circulated records that give advantages for the Mixin focal Kernal. This is the place the spryness of the Mixin arrange comes in, the benefits managed by Mixin Domains can be of Bitcoin, Ethereum or of some other blockchains or incorporated associations, even banks. The spaces give a passage to the Mixin Kernel and both speak with one another through uncommonly constructed Mixin System Calls. The calls are the main route through which the framework can trade states and are standard JSON-RPC interfaces. To be acknowledged and enlisted by a Kernel, Mixin Domains must execute the standard Domain Interfaces. Both the substances impart utilizing the Intel SGX confided in transport layer and all private keys are duplicated in the part hubs and space hubs. • Area Extensions: The last and the peripheral part of the Mixin Network are the space augmentations, which include encourage readiness, in the system. Using Kernel hubs and areas, Mixin bolsters all the significant functionalities that a client may require. Notwithstanding, to include promote usefulness, Mixin Network permits area augmentations, which are expected to act like savvy contracts. Be that as it may, area expansions will be more vigorous and will perform better. Area expansions are fundamentally programs running in the space virtual machine.
www.mixin.one
submitted by tunde1999 to mixin [link] [comments]

COMPREHENSIVE REVIEW OF THE MIXIN ECOSYSTEM

Mixin is made out of a solitary hypothetically lasting Kernel, numerous unique Domains and diverse multipurpose Domain Extensions, to plan a broadened star topology
• Mixin Kernel:
At the center of the Mixin Network is the Mixin Kernel, which is an offbeat Byzantine blame tolerant coordinated non-cyclic chart. The primary capacity of the fundamental bit is to deal with the unspent exchanges yields from the restricted Kernel hubs. The primary part utilizes the UTXO model of Bitcoin for dealing with exchanges and the one - time key inference calculation of CryptoNote for protection.
The Mixin Network has just a single focal piece, be that as it may, it can have numerous portion hubs, 50 to be correct. Every piece hub should promise 10,000 XIN and since there are just 500,000 XIN available for use, in this way, there can be close to 50 portion hubs. The job of piece hubs is to manage exchange approval and industriousness.
• MIXIN DOMAIN
The next part in the multi-level arrangement of Mixin Network are the Mixin Domains. They are the circulated records that give advantages for the Mixin focal Kernal. This is the place the spryness of the Mixin arrange comes in, the benefits managed by Mixin Domains can be of Bitcoin, Ethereum or of some other blockchains or incorporated associations, even banks. The spaces give a passage to the Mixin Kernel and both speak with one another through uncommonly constructed Mixin System Calls. The calls are the main route through which the framework can trade states and are standard JSON-RPC interfaces. To be acknowledged and enlisted by a Kernel, Mixin Domains must execute the standard Domain Interfaces. Both the substances impart utilizing the Intel SGX confided in transport layer and all private keys are duplicated in the part hubs and space hubs.
• AREA EXTENSIONS
The last and the peripheral part of the Mixin Network are the space augmentations, which include encourage readiness, in the system. Using Kernel hubs and areas, Mixin bolsters all the significant functionalities that a client may require. Notwithstanding, to include promote usefulness, Mixin Network permits area augmentations, which are expected to act like savvy contracts. Be that as it may, area expansions will be more vigorous and will perform better. Area expansions are fundamentally programs running in the space virtual machine.
https://mixin.one/
submitted by Micorpy to mixin [link] [comments]

Mycelium Wallet 2.2 is out

The new biggest feature is complete support for Tor, though the Orbot app, that connects directly to our nodes running as a hidden service (with a .onion extension). The wallet will now monitor your Orbot connection, launch it if it's not running, and will let you know if Tor access is available or not. Previously if Tor access wasn't available, Android OS would quietly switch it over to open web without us being able to control or stop it. We initially included built-in Orchid library, that would have allowed the wallet to have its own built-in Tor without any third party apps, but it proved to be extremely slow (took a minute or longer to connect and synchronize every time). If anyone has trouble getting Orbot due to it being blocked in your country, let us know and we may host an apk of it ourselves as well.
Other changes include:
Now we are on to adding more support for HD accounts such as Cold Storage spending from HD paper wallets and HD watch only addresses, built-in support for Trezor and Ledger, and a slew of other things. Please let us know if you run into any problems, and give us feedback for things you would like us to add to our immense To-Do list.
You can download it from Google Play or directly from our site here https://mycelium.com/bitcoinwallet
submitted by Rassah to Bitcoin [link] [comments]

A more detailed look into Localbitcoins.com data

TL;DR
Localbitcoins.com did 34,000 BTC a week ago, spread out over ~50 local currencies. Check out the graphs!
Summary
Last week I did a short analysis on trades at Localbitcoins.com (LBTC). I wasn't satisfied with the incomplete data Bitcoincharts.com gave me and decided to delve a bit deeper, with some nice data and graphs as a result!
Problem
LBTC doesn't publicly summarize their own statistics, they only provide historical trade data via their API. Bitcoincharts.com does a decent summary but only for ~15 currencies. Big LBTC currencies like CNY are not listed there.
Questions
The questions I wanted answered from LBTC's API was:
Approach
So to get a complete picture I sharpened my Python skills and went straight into the LBTC API myself, scraping all currencies I could find and summing the numbers on a weekly basis, starting at 11 march 2013 (the start of LBTC trading).
My aggregates differ from Bitcoincharts as I believe they take a different weekly cutoff point. As of right now, their new week with timestamp "2015-06-15" has already started even though in GMT terms it's still 2015-06-14. (My next week starts at 2015-06-15 00:00 UTC which I believe is in line with GMT?) In that light, the week isn't over yet, so my data will seem incomplete.
To calculate total Fiat volume, I calculated the weighted USD price per BTC on LBTC and applied it to every currency. This is not ideal, however since USD accounts for over 50% of all LBTC trades, it's close enough. Note that the LBTC price per BTC is usually 5-10% higher than on centralized exchanges.
Data
Summary Graphs
I was going to write something interesting, but a picture says a thousand words:
The top 5 currencies (USD, GBP, EUR, AUD, RUB) account for roughly 80% of LBTC's volume. What's interesting though is that smaller currencies are growing rapidly:
Interesting currencies
Here are some interesting currencies that are trading on LBTC and not visible on Bitcoincharts.com:
Conclusion
I don't know how trustworthy LBTC is as a source. All I can say is, if it's data is valid, we're only at the beginning of global BTC acceptance -- which of course doesn't mean the growth we see now is going to continue.
I'm personally very excited to see hard numbers for Kenya, Philippines, Ukraine, Venezuela etc. etc. even though those numbers are still very small.
Thanks for your attention!
Edited for layout
Edit2 Thanks everyone for the kind remarks and generous tips, true gentlepeople all around! I will try to update the data now and then, but don't take my word for it :)
submitted by Caprica__One to Bitcoin [link] [comments]

I made an mining income simulator based on historical trends.

TL:DR;TL:DR; This projects the next year using various conditions from previous years.
TL:DR; It would be really awesome if 2018's hash rate moves like 2015, and price moves like 2013 :D Also send me hash rates and costs if you want me to simulate what your Bitcoin mining setup could return if the next year matches various historical environments.
Sample output screenshot
 
Basically this takes the current price and network hash rate, then uses historical changes to each, a defined mining hash rate for a miner, and simulates what that miner would bring in if those market environments happened again.
So if, starting today, we see another year where prices move like they did in 2014, but hash rate moves like it did in 2017, and I have 1 S9 @ 13.5Th/s, what would the end result be? (Net loss of ~$3k.) Stuff like that.
It does exclusively use the Bitcoin network's numbers, so it's not doing anything fancy with toggling between mining Bitcoin and Bitcoin Cash or anything like that.
 
On a technical level, what it does is take the historical day-to-day percentage changes in hash rate and price for the given years, runs those same day-to-day changes starting with today's hash rate and price, figures out the day-to-day BTC generated if you had the given Th/s of mining power, and multiplies the total BTC generated by the final price. It assumes 144 blocks per day and 12.5BTC per block (no transaction fees), so it'll be a bit conservative.
For cost I used my local costs and current prices, including hardware (~$3k for an S9, ~$54k for 20 Avalon 821's), electric (~$1600/year for an S9, ~$26k/year for 20 Avalons), and space (would need a warehouse for 20 Avalon's @ ~$10-15k/year).
 
I'll release it to the wild at some point so you can run it yourself, but I figured people might be interested in the numbers right now. I don't have a timeline on when I'll release it, since it's mostly for my own due diligence. Whenever I get to it, my "like to have" features are: halvenings included, fee trends included, date ranges (instead of whole years), and charts of the input and output data.
If you have a mining rig and want me to run it for your numbers, just let me know your hash rate (in Th/s) and yearly cost (total of hardware, space, and electrical). If you have specific years you want to see it simulate, include those too.
 
Data sources/API calls I used are:
 
Also a disclaimer: It's just a simulation that hasn't been validated and could be (is) missing some factors, so it could be wrong. Don't go quitting your day job because some dude posted a screenshot on the internet.
submitted by PaulJP to BitcoinMining [link] [comments]

Community and other resources

I realise that some people are not that active in our Discord channel (or have not joined at all), which has quite a lot of community developments and other resources. So I have decided to gather some of the things shared around and post them here - in no particular order.
Crypto20 performance snapshots and unofficial community resources:
There are also a few desktop tickers and widgets floating around in the Discord server, which will show you personalised holdings.
For consumption, the NAV is found here.
Other resources: [not an endorsement or recommendation] - Tax preparation platforms: https://bitcoin.tax/ and https://cointracking.info/. - Spreadsheet wallet tracker: https://medium.com/active-income/how-to-get-crypto-balance-from-your-wallet-in-google-sheets-c79a2702a038.
submitted by Camaa to cryptotwenty [link] [comments]

Monero emission curve data

Hi!
Where I can find the monero equivalent of that: https://blockchain.info/it/charts/total-bitcoins?timespan=all
I know monero has a smooth emission curve and etc..., but I would like to have csv/json/txt data... or at least the formula. Thank you
submitted by PaulAlgar to Monero [link] [comments]

Have I counted all the languages (6) I need to learn for my project?

I decided the best way to learn programming would be to create a project and learn how to do it. I want to create a basic chart that tracks the price of Bitcoin. I know others exist, I just want to recreate it. Here are the languages I've gathered:
Front End
Back End
Does that sound right to everyone? I am hoping to get a complete list so I can focus on learning and less on which language is which.
Thanks
Edit: It appears I have used "languages" liberally. My apologies
submitted by TexasTriGuy to learnprogramming [link] [comments]

Another way to look at the bubbles

This is a follow up to a post I made a couple of days ago looking at the log-linear regression of bitcoin prices:
http://www.reddit.com/BitcoinMarkets/comments/21smpsome_perspective_on_the_current_pessimism/
This post is going to look at this regression again, but this time using it to make comparisons between Bitcoin's bubbles.
One way to compare Bitcoin's bubble periods is by categorizing periods on the basis of how far away they are from the regression line. The set of these distance measures is known as the 'residuals'. What I've done in this chart is colour code each price depending on where on a set of ranges its residual value falls.
http://i.imgur.com/y1Klgum.png
How did I select the ranges I did? Semi-arbitrarily (if anyone knows of a less-arbitrary way to do this let me know). The residuals seem to cluster to some degree around certain ranges when you look at them in a histogram. So that's why I chose the ranges that I did.
http://i.imgur.com/FbqtIfV.png
What I think a chart like this is representing is how far away bitcoin is from its exponential growth trend. So a bubble is interpreted relative to that growth trend and not its absolute growth in value. This gives different results from when you just look at absolute price growth.
For example - if you compare the 2012/13 bubble with the 2013/14 bubble on the basis of the absolute amount of price growth then the former of these is the larger bubble with about 13x price growth compared to about 8x. But from the perspective of the price relative to the exponential growth trend, the latter is clearly larger. How is this possible, you can see it easily from the chart. The 2012/13 bubble came off a much larger slump relative to the trend (a blue zone) - whereas the 2013/14 bubble had less ground to make up. It started in a green zone. Furthermore, while the 2012/13 bubble makes it into the orange zone - it only stays there briefly. It's really mostly a yellow level event. The 2013/14 bubble is is definitively an orange level event and even gets into the red zone for a day.
The 2011 bubble is less interesting from this perspective since it is big in all respects - both price growth and its residuals. Notice also how some quite large price increases (3x in jun-aug 2012) don't even count as bubbles on this analysis even though they have the same triangle shape as the others.
In terms of the current downtrend it provides an extra rationalisation as to why things aren't that grim. We are currently in a green period - which is the most common colour by far. Green is not a bad place to be if you care about whether or not Bitcoin is maintaining its long term trend. Blue is where things start to get concerning. If that chart ever registers a significant period of purple - that's when I'm going to start to freak out for bitcoin's long term future.
As always - take this stuff with large pinches of salt. If you look at this stuff yourself, I recommend trying to come up with alternative (principled) ways of choosing your colour regions. You can also experiment with using different time frames. If you start your regression at the beginning of the 2012/13 bubble then it becomes much larger than the 2013/14 bubble. I personally don't think this is appropriate if you are looking at the long term exponential growth - but you gotta bear it in mind.
One other thing - this data swaps from the mtgox to bitstamp data. I feel mtgox data is generally to be avoided, because of the way it skewed the market - but it's all we have from the early periods.
Here is the code for those who want to play. About to hit the town for some booze n ladies... so won't respond to comments questions (if any) until tomorrow. :)
import json, requests import pandas as pd import numpy as np import datetime as dt import operator import matplotlib.pyplot as plt import matplotlib.dates as mdates def get_data(api_name): ''' pulls data from the quandl api api_name either 'BITSTAMPUSD' or 'MTGOXUSD' ''' url = 'http://www.quandl.com/api/v1/datasets/BITCOIN/{0}.json'.format(api_name) r = requests.get(url) raw_data = r.json() # put the data in a Pandas DataFrame object data = pd.DataFrame(raw_data['data'], columns=raw_data['column_names']) # change the order so the earliest records are first data = data.reindex(index=data.index[::-1]) # reset the index order increasing from 0 data['i'] = range(0,len(data)) data = data.set_index('i') return data bitstamp_data = get_data('BITSTAMPUSD') mtgox_data = get_data('MTGOXUSD') #change the dates to python datetime objects bitstamp_data['Date'] = pd.to_datetime(bitstamp_data['Date']) mtgox_data['Date'] = pd.to_datetime(mtgox_data['Date']) # select the mt gox data prior to bitstamp pre_bitstamp = mtgox_data[(mtgox_data['Date'] < bitstamp_data['Date'][0])] # whack the mtgox and bitstamp data together data = pre_bitstamp.append(bitstamp_data) data['i'] = range(0,len(data)) data = data.set_index('i') # Data has some bad values. Replace them with previous days data # First replace the bad values with a NaN value data.loc[(data['Open']==1.7e+308), 'Open':] = np.nan # now replace the NaN values with the previous days values data = data.fillna(method='pad') # create X and Y for the regression X = pd.DataFrame(index=data.index) X['0'] = 1 X['1'] = data.index # convert the price data to a log10 scale Y = pd.DataFrame(index=data.index) Y['0'] = np.log10(data.loc[:, 'Weighted Price']) # convert to numpy matrices for use in the normal equation X = X.as_matrix() Y = Y.as_matrix() # Normal equation (works much better than gradient descent in this case) X_T = X.transpose() theta = np.linalg.inv(X_T.dot(X)).dot(X_T).dot(Y) # use theta to plot the regression regress = X.dot(theta) # create a histogram of the residuals (difference between actual and predicted values) diff = Y - regress bins = np.linspace(diff.min()-0.2, diff.max()+0.2 , 80) plt.hist(diff, bins) plt.show() # select groups of residuals for colouring # ranges are selected on the (semi-arbitrary) basis of how they appear to be grouped in the # histogram above. purple = ((diff > -1.0) & (diff < -0.65)).flatten() blue = ((diff > -0.65) & (diff < -0.31)).flatten() green = ((diff > -0.31) & (diff < 0.0)).flatten() yellow = ((diff > 0.0) & (diff < 0.27)).flatten() orange = ((diff > 0.27) & (diff < 0.6)).flatten() red = ((diff > 0.6) & (diff < 1)).flatten() pink = (diff > 1.0).flatten() # Create the chart # Let matplotlib do the work of selecting date ticks plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) plt.gca().xaxis.set_major_locator(mdates.AutoDateLocator()) # plotting the raw price data and then log scaling the chart plt.plot(data['Date'], data['Weighted Price']) # regression data is already in log scale, so scale it back up. plt.plot(data['Date'], 10 ** regress) # apply the log scale to the chart plt.axes().set_yscale('log') plt.xlabel('Date') plt.ylabel('Price (USD)') plt.grid() # Plot the residuals plt.scatter(data['Date'][purple], data['Weighted Price'][purple], marker='x', c='#2E0854', label="-1.0 < res < -0.65") plt.scatter(data['Date'][blue], data['Weighted Price'][blue], marker='x', c='b', label="-0.65 < res < -0.31") plt.scatter(data['Date'][green], data['Weighted Price'][green], marker='x', c='g', label="-0.31 < res < 0.0") plt.scatter(data['Date'][yellow], data['Weighted Price'][yellow], marker='x', c='y', label="0.0 < res < 0.27") plt.scatter(data['Date'][orange], data['Weighted Price'][orange], marker='x', c='#FF6600', label="0.27 < res < 0.6") plt.scatter(data['Date'][red], data['Weighted Price'][red], marker='x', c='r', label="0.6 < res < 1.0") plt.scatter(data['Date'][pink], data['Weighted Price'][pink], marker='x', c='#ff69b4', label="1.0 < res") # add the legend handles, labels = plt.axes().get_legend_handles_labels() plt.legend(handles, labels, loc=2) plt.show() 
submitted by grovulent to BitcoinMarkets [link] [comments]

AttributeError: 'datetime.datetime' object has no attribute 'timestamp'

Please Help - I keep receiving the following Traceback Error:
Currently Running Python 2.0
I'm attempting to utilize Python's Plotly library to display an infographic illustrating bitcoin prices. I've tried importing datetime at the top of my code but this doesn't appear to solve the problem.
Traceback (most recent call last): File "project_one.py", line 165, in crypto_price_df = get_crypto_data(coinpair) File "project_one.py", line 155, in get_crypto_data json_url = base_polo_url.format(poloniex_pair, start_date.timestamp(), end_date.timestamp(), pediod) AttributeError: 'datetime.datetime' object has no attribute 'timestamp'
import numpy as np import pandas as pd from pandas import Series, DataFrame, Panel import matplotlib.pyplot as plt plt.style.use('fivethirtyeight') import seaborn as sns import sklearn as sk import scipy as sp import os import pickle import quandl import datetime import plotly.plotly as py import plotly.graph_objs as go import plotly.figure_factory as ff from plotly import tools from plotly.offline import iplot, init_notebook_mode from IPython.display import display, HTML init_notebook_mode(connected=True) def get_quandl_data(quandl_id): cache_path = '{}.pkl'.format(quandl_id).replace('/','-') try: f = open(cache_path, 'rb') df = pickle.load(f) print('Loaded {} from cache'.format(quandl_id)) except (OSError, IOError) as e: print('Downloading {} from Quandl'.format(quandl_id)) df = quandl.get(quandl_id, returns="pandas") df.to_pickle(cache_path) print('Cached {} at {}'.format(quandl_id, cache_path)) return df btc_usd_price_kraken = get_quandl_data('BCHARTS/KRAKENUSD') exchanges = ['COINBASE','BITSTAMP','ITBIT'] exchange_data = {} exchange_data['KRAKEN'] = btc_usd_price_kraken for exchange in exchanges: exchange_code = 'BCHARTS/{}USD'.format(exchange) btc_exchange_df = get_quandl_data(exchange_code) exchange_data[exchange] = btc_exchange_df def merge_dfs_on_column(dataframes, labels, col): series_dict = {} for index in range(len(dataframes)): series_dict[labels[index]] = dataframes[index][col] return pd.DataFrame(series_dict) btc_usd_datasets = merge_dfs_on_column(list(exchange_data.values()), list(exchange_data.keys()), 'Weighted Price') def df_scatter(df, title, seperate_y_axis=False, y_axis_label='', scale='linear', initial_hide=False): label_arr = list(df) series_arr = list(map(lambda col: df[col], label_arr)) layout = go.Layout( title=title, legend=dict(orientation="h"), xaxis=dict(type='date'), yaxis=dict( title=y_axis_label, showticklabels= not seperate_y_axis, type=scale ) ) y_axis_config = dict( overlaying='y', showticklabels=False, type=scale ) visibility = 'visible' if initial_hide: visibility = 'legendonly' trace_arr = [] for index, series in enumerate(series_arr): trace = go.Scatter( x=series.index, y=series, name=label_arr[index], visible=visibility ) if seperate_y_axis: trace['yaxis'] = 'y{}'.format(index + 1) layout['yaxis{}'.format(index + 1)] = y_axis_config trace_arr.append(trace) fig = go.Figure(data=trace_arr, layout=layout) py.plot(fig) df_scatter(btc_usd_datasets, 'Bitcoin Price (USD) By Exchange') btc_usd_datasets.replace(0, np.nan, inplace=True) df_scatter(btc_usd_datasets, 'Bitcoin Price (USD) By Exchange') btc_usd_datasets['avg_btc_price_usd'] = btc_usd_datasets.mean(axis=1) btc_trace = go.Scatter(x=btc_usd_datasets.index, y=btc_usd_datasets['avg_btc_price_usd']) py.plot([btc_trace]) def get_json_data(json_url, cache_path): try: f = open(cache_path, 'rb') df = pickle.load(f) print('Loaded {} from cache'.format(json_url)) except (OSError, IOError) as e: print('Downloading {}'.format(json_url)) df = pd.read_json(json_url) df.to_pickle(cache_path) print('Cached {} at {}'.format(json_url, cache_path)) return df base_polo_url = 'https://poloniex.com/public? command=returnChartData¤cyPair={}&start= {}&end={}&period={}' start_date = datetime.datetime.strptime('2015-01-01', '%Y-%m-%d') end_date = datetime.datetime.now() pediod = 86400 # pull daily data (86,400 seconds per day) def get_crypto_data(poloniex_pair): json_url = base_polo_url.format(poloniex_pair, start_date.timestamp(), end_date.timestamp(), pediod) data_df = get_json_data(json_url, poloniex_pair) data_df = data_df.set_index('date') return data_df altcoins = ['ETH','LTC','XRP','ETC','STR','DASH','SC','XMR','XEM'] altcoin_data = {} for altcoin in altcoins: coinpair = 'BTC_{}'.format(altcoin) crypto_price_df = get_crypto_data(coinpair) altcoin_data[altcoin] = crypto_price_df 
submitted by bullybear17 to learnpython [link] [comments]

Bitcoin Trading Taxes

I am starting a week long sprint to do a NodeJS module. Your post sounds like someone I could team with, so hit me up if you are interested.
The project consists of generating bitcoin trading tax reports based on user API keys. Expressed in MVC terms, the model is the user history (API fetch), the controller is the JavaScript i am getting ready to code, and the view(s) are what we make of it, with the bare min consisting of txt file for tax submission, and the first eye candy that pops to mind is a chart of the portfolio value over time. Other nice things would be a JSON dump and a spreadsheet export.
An example can be found at https://bitcoin.tax/
These guys are pretty CYA. I would like to do something that allows the user more options, specifically FIFO vs. LIFO, like-kind accounting, exposing the root cost basis as a variable. My plan is to limit the scope by completely forgoing gifts, purchases, etc... for now and focus just on the data that is available via API keys.
submitted by holyoak to nodetogether [link] [comments]

ZiftrCOIN Launch Update

Announcing the ziftrCOIN Release

ZiftrCOIN will be launching this Saturday(February 28th) see more info here. We’ve put a lot of hard work into it and a large portion of our efforts have been leading to this very moment. We couldn’t have gotten here without all the support we received during the ziftrCOIN Presale and we just want to again express our gratitude to all presale participants, as well as everyone who has expressed interest in ziftrCOIN.
 

Specifications:

 
We are pre-mining 4.5% of the total ziftrCOINs, 66.7% of which we will give away to consumers. In doing this, we hope that more consumers start to become familiar with cryptocurrency.
 

You will be able to begin CPU mining via the ziftrCOIN-Qt wallet immediately upon release to get a bit of a head start. As for GPU mining, we’re waiting to release our GPU code until 1-2 weeks after the coin release date. Why? A couple reasons:

 
Be sure to follow ziftrCOIN on Twitter (@ziftrcoin) for all mining update announcements.
     

What Makes ziftrCOIN different?

 

$1 Minimum Redemption Value

 
ziftrCOIN comes with a built-in use case. When spent in Ziftr’s merchant network, each ziftrCOIN will have a minimum redemption value of $1. Think of ziftrCOINs as your very own Ziftr coupons.
   

Incentivized Proof of Knowledge Mining

 
In our version of Proof of Knowledge, the miner may optionally prove knowledge of transaction data while mining to get a slightly higher reward. More specifically, a block solved with Proof of Knowledge of transaction data is allowed to claim a 5% higher reward than those that are not. The idea here is that we want to incentivize miners to run their own software to decide which transactions will be processed, rather than just working on data given by the pool operator. With this setup, pools can still exist to limit the variance of miners, but are no longer the source for transaction data while mining. In addition, an SPV node may verify the Proof of Knowledge of transaction data with only one more transaction from the block, rather than downloading the full block data.
 

Mature Coins Spent as a Tiebreaker

 
In ziftrCOIN, the core client calculates the number of sufficiently old coins spent in each new block received on the peer-to-peer network. When two blocks are solved on the tip of the chain at nearly the same time, the block with more sufficiently old coins spent in it is chosen as the correct block. Chains are still prioritized by most-work first; the counting of old coins spent is only used when two chains have the same work. This tiebreaking strategy makes it unprofitable for a miner to mine PoK blocks while not including transactions because the blocks would have far fewer old coins spent in the block, and they would lose ties. Since the tiebreaking strategy is mathematically expected to take effect in approximately 18% of blocks, a 5% increase in rewards would not be sufficient to make this attack worthwhile.
 

Dynamic Block Size Limit

 
The ziftrCOIN block size limit is not set to a fixed constant, as is currently done in Bitcoin. Instead, the chain automatically allows for growth as transaction volume increases. This can be faked by miners, but a clear majority of miners must be artificially increasing block size limits in order for the block size limit to increase unnecessarily. The block size growth is limited to 10% every 3 months, which is roughly equivalent to doubling every 2 years.
 

Coin Distribution Model

Most coins follow a halving block reward distribution that incentivizes early adopters to participate before the block reward drops. Instead, we decided to try to match the distribution with common adoption curves for new technologies. For example, the chart contained in this article (below for convenience) shows the standard adoption curve of new technologies. Ten billion total ziftrCOINs will be created over 30 years, with the coins distributed in each block changing each day following a standard bell curve.
 

Support for OP_CHECKLOCKTIMEVERIFY

The Bitcoin scripting language currently has no way to make a transaction output that cannot be spent until a later point in time. The ziftrCOIN network supports the use of both OP_CHECKLOCKTIME and OP_CHECKLOCKTIMEVERIFY to allow the creation of outputs that can only be spent after a certain point in the blockchain. This is useful in many scenarios, such as using escrow with a third party who cannot participate in the arbitration process unless there is actually a problem between the two transacting parties. This scripting opcode was also used to lock up the coins that Ziftr received (not including giveaway coins) in the genesis block. The goal here is to prove to the community that we are not going to take the coins we have set aside and dump them on the market, because we literally could not even if we wanted to. The core client, however, does not currently relay transactions that use these types of outputs, but these rules will likely be relaxed soon.
 

Convenient Transaction Processing Speed

The expected generation rate of ziftrCOIN blocks is 1 block per minute. This block generation time was chosen as a trade-off between convenience and consensus.
   
We hope you’re as excited as we are about the release of ziftrCOIN! If you have any questions or comments, please reach out to us on Twitter or Reddit or email us directly at [email protected].
     
submitted by RyanCD to ziftrCOIN [link] [comments]

List of Bots for Use with RES Mass-Tagger

Updated Wednesday 29 November 2017

Based largely on this list and the bots listed here (the humans among which I will mass-tag as scammers), and minor additions I've made since the original version of this post, I used this tool to make a nice piece of JSON for the Mass-Tagger in the Reddit Enhancement Suite; this particular tool is outdated, so just follow the directions here and use the list below where it tells you to use a certain auto-generated text list.
,"tag.1468288286":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.__bot__":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag._answers":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag._definition_bot_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag._fallacybot_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag._rita_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag._you_dropped_this_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag._youtubot_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.a858de45f56d9bc9":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.a_random_gif":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.aabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.adhdbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.agrees_withyou":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.albumbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.allinonebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.alotabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.altcodebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.altcointip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.annoying_yes_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.anti-gif-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.antiracism_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.apicontraption":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.asmrspambot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.asshatbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.astro-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.atheismmodbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.auto-doge":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.autoinsult":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.automoderator":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.autotldr":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.autourbanbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.autowikibot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.avr_modbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bad_ball_ban_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.badlinguisticsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ban_pruner":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.banishedbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.baseball_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.beecointipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.beetusbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.belitipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bensonthebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bible_verses_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bitcoinpartybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bitcointip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bitofnewsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.blackjackbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.blockchainbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bocketybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.botpaperscissors":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.brigade_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.brmt_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.bronze-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.c5bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cah_black_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cahbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cakeday-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.callfloodbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.callibot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.calvinbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.canada_goose_tip_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.canthearyoubot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.captionbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.carterdugsublinkbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.casualmetricbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cavsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cazazkq":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.central_bank_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.changetip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.chart_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.checks_out_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cheer_up_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cheesecointipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.chemistry_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.christianitybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.chromabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.classybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.clickablelinkbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.closing_parenthesis":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.codebreakerbreaker":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.coinflipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.coinyetipper":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.colorcodebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.comment_codebreaker":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.comment_copier_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.commonmisspellingbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.compilebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.complimentingbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.conspirobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.convertstometric":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.could-of-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cptmodbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.credditbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.creepiersmilebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.creepysmilebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cris9696":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cruise_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cummybot2000":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cutebot6969":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.cypherbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.d3posterbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ddbotindia":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.define_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.definitelybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.deltabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.demobilizer":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dgctipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dictionary__bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.didsomeonesayboobs":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.digitipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.disapprovalbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dnotestip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dogelotterymodbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dogetipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dogetipstatsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dogewordcloudbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dotacastingbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.downtotes_plz":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.downvotesmcgoats":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.drivepower":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.drktipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.dropbox_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.earthtipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.edmprobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.elmatadero_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.elsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.elwh392":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.emmabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.epic_face_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.escapistvideobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.exmobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.expired_link_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.explanationbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fa_mirror":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fact_check_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.faketipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fedora_tip_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fedoratipautobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fedoratips":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.felinefacts":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fixes_grammernazi_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.flappytip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.flips_title":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.foreigneducationbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.friendly-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.friendlycamelcasebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.friendsafaribot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.frontpagewatch":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.frown_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.frytipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.fsctipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ftfy_cat":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ftfy_cat6":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gabencointipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gabenizer-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gabentipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gamedealsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gatherer_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gatsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.geekwhackbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gfy_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gfycat-bot-sucksdick":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gfycat_details_fixer":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.giantbombbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gifashtml5":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gifster_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gifv-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.githubpermalinkbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gives_you_boobies":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.givesafuckbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gocougs_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.godelsvortex":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.godwin_finder":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.golferbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gonewildresearcher":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.good_good_gb_bb":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.goodbot_badbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.googleplusbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.goolsbee_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gotcrypto":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gracefulcharitybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gracefulclaritybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.grammarianbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.grammernazi_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.greasybacon":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gregbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.groompbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.grumbler_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gunners_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gunnersgifsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gunnitbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.guzbot3000":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.gyazo_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.haiku_robot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.haikubot-1911":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.handy_related_sub":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.havoc_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hce_replacement_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hearing-aid_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hearing_aid_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hearingaid_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.helperbot_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.highresimagefinder":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hit_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hockey_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hockeygt_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.howisthisbestof_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.howstat":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hscard_display_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.hwsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.i_am_a_haiku_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.i_bitcoin_cats":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.i_say_no_":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.iagreebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.icouldntcarelessbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ighighlightsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ilinknsfwsubreddits":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.image_linker_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.imgur_rehosting":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.imguralbumbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.imgurhostbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.imgurtranscriber":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.imirror_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.infinitive_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.insane_photo_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.is_it_solved":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.isitdownbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.isitupbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.its_gandhi_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jargonbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jerkbot-3hunna":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jiffierbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jiffybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jinx__bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.joebidenbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jotbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.jumptobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.karmaconspiracy_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.keysteal_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.kittehcointipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ksportbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.kuilinbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.last_cakeday_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.lateximagebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.lawbot2016":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.lazylinkerbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.link_correction_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.link_demobilizer":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.link_rectifier_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkedcommentbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkfixerbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkfixerbot1":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkfixerbot2":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkfixerbot3":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkfixerbotsnr":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linkreplybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.linleylin":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.locationbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.loser_detector_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.luckoftheshibe":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ludabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.magnifier_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.makes_small_text_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.makestextsmall":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.malen-shutup-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.massdropbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.matthewrobo":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.maxwellbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.meme_transcriber":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.memedad-transcriber":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.mentioned_videos":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.mentionhelper":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.meta_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.metatasticbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.metric_system_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.metric_units":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.metricpleasebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.misconception_fixer":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.mma_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.moderator-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.montrealbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.morejpeg_auto":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.movieguide":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.multifunctionbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.mumebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nascarthreadbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nazeem_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nba_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.neoliberal_shill_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.netneutralitybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.new_eden_news_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.new_small_text_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nflvideobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nflvideoconverterbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nhl_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nidalee_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nightmirrormoon":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.no_youre":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nobodydoesthis":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.noitisnotokay":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nosleepautomod":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nosobstorybot2":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.not_alot_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.not_just_you":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.notoverticalvideo":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.notredditenough":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nslbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.nyantip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.oeisbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.okc_rating_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.okredditbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.originalpostsearcher":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pandatipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pandatips":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.perrycohen":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.phoenixbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.photo_of_captain_ron":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.picdescriptionbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.piglatinsyourcomment":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pjrp_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.playlisterbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.playstorelinks_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pleaserespecttables":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ploungemafiavotebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pokemonflairbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.politebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.politicbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ponytipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pornoverlord":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.portmanteau-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.porygon-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.potato-rotator":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.potdealer":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.presidentobama___":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.pricezombie":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.proselytizerbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.provides-id":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.punknrollbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.quiche-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.qznc_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.r_picturegame":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.raddit-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.randnumbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.random-complimentbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.random1dollartip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.randomtriviabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rangers_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rarchives":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.readdit_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.reads_small_text_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.readsmalltextbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.realtechpostbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.reddcoingoldbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.redditbots":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.redditreviewbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.redditsilverrobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.reddittagger":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.reddtipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.relevant_news_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.relevantxkcd-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.remembertosmilebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.remindmebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.request_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.requirementsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rfootballbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rfreebandzbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rhiever-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rickrollwarning":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rightsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.riskyclickbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rnfl_robot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.roger_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rsgspolice":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rss_feed":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rubycointipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rule_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.rusetipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sadfacebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sakuraibot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sakuraibot_test":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.satoshitipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.scanr":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sentimentviewbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.serendipitybot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.serial_joke_killer":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shadowbanbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shadowbannedbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shares_rss":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shibebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shillformonsanto":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shiny-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shittygandhiquotes":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.shittyimagebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.should_have_listened":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sketchnotskit":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.slapbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.slickwom-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.smallsubbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.smalltextreader":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.smctipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.smile_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.snapshillbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.snapshot_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sneakpeekbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.soccer_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.softwareswap_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.somalia_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.some_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.spanksafe_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sports_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.spursgifs_xposterbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.srd_notifier":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.srs_history_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.srscreenshot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.stabbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.stackbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.starboundbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.stats-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.steam_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.stenciltemplatebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.streetfightmirrorbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.sub_corrector_bot":{"color":"none","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.subtext-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.suchmodbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.surveyofredditbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.swtor_helper_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.synonym_flash":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.table_it_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tabledresser":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.techobot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tennis_gif_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.test_bot0x00":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.text_reader_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.thatawfulbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.thelinkfixerbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.theswedishbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.thiscatmightcheeryou":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.timezone_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tipmoonbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tipmoonbot1":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tipmoonbot2":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tipnyan":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.titsorgtfo_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tittietipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.top_comment_of_yore":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.topcoin_tip":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.topredditbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.totes_meta_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.totesmessenger":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.ttumblrbots":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.tweetposter":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.twinkiac":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.twitch2youtube":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.twitchsubreddit":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.twittertostreamable":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.unhandy_related_sub":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.unitconvert":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.unobtaniumtipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.urbandicbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.uselessarithmeticbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.uselessconversionbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.valkyribot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.versebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.vertcoinbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.vertcointipbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.video_descriptionbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.videolinkbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.videopokerbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.vsaucebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.watguy12_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.weappreciateyou":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.website_mirror_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.weeabot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.whenishl3":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wheres_the_karma_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.whowouldwinbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wiki_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wiki_firstpara_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wikipediacitationbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wikitextbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wink-bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wooshbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wordbot2000":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wordcloudbot2":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wordcloudyou":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.writingpromptsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.wwe_network_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.x_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.xkcd_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.xkcd_number_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.xkcd_transcriber":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.xkcdcomic_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.yes_answers":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.yes_it_is_weird":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.yourebot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.youtubefactsbot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"},"tag.yt_bot":{"color":"silver","tag":"⚙WE ARE THE ROBOTS⚙"} 
submitted by lewisje to botsrights [link] [comments]

CUDAMiner Optimization Basics

I've posted this information a lot recently to new miners with NVIDIA cards. This subreddit seemed like the right home for it, and hopefully this is will serve as a helpful starting place to clarify the very basics and get people started.
As always, watch your GPU core temperatures closely. Lower hash rates correlate to lower operating temperatures. Play with these features to adjust your hash rate according to the load your GPU can handle. For example, one of my cards has better cooling than the other, so I run them at different hash rates to keep them both in the temperature range that I'm comfortable with.
Getting Started (Windows Environment):
  1. Download and install the latest NVIDIA Drivers.
  2. Download and extract the latest version of cudaMiner (SEE BITCOINTALK - CUDAMINER LINK BELOW) .
  3. Create a new text file in the same directory as cudaminer.exe (x32 or x64, depending on your system).
  4. Open text file and enter your configuration into the new batch file (See below for samples. Change settings to match your specific set-up):
  5. Change text file extension to .bat
  6. Execute batch file (not the executable).
  7. ???
  8. To exit, CTRL+C to break, wait, then Y to exit OR press the "Red X"; If the the command window closes immediately, add "pause" to the end of the batch script to view the error.
  9. If running x64 version, try x32 version and compare results.
  10. !!!
  11. Profit
Common Errors
Error Possible Cause
Command prompt window flashes and closes. Usually indicates bad syntax or attempting to launch executable. Review batch script settings. Add "pause" to end of batch script to view error.
Stratum Authentication Failed / "HTTP Request failed; No Error" Indicates connection issue. Review server address & user credentials.
Memory error / Result doesn't validate on CPU / Error 30 (Indicates launch configuration is invalid/not optimal. Change launch configuration flags. Update drivers.
"json_rpc_call failed" You are launching the executable; you cannot do this. Create and launch using batch script instead.
:::Sample Configurations (EDIT TO MATCH YOUR SPECIFIC CREDENTIALS & GPU SETTINGS) :::Single GPU ::SingleGPU.bat cudaminer.exe -i 1 -C 1 -m 1 -H 1 -l auto -o stratum+tcp://YOUR.POOL.ADDRESS:#### -O USER.WORKER:WORKERPW :::Multi GPU, Multi Command Prompt ::GPU0.bat (Address/Login for Standard Pool Mining, 1st GPU) cudaminer.exe -d 0 -i 1 -C 1 -m 1 -H 1 -l auto -o stratum+tcp://YOUR.POOL.ADDRESS:#### -O USER.WORKER:WORKERPW ::GPU1.bat (Address/Login for P2Pool Mining, 2nd GPU) cudaminer.exe -d 1 -i 1 -C 1 -m 1 -H 1 -l K4x32 -o stratum+http://YOUR.P2POOL.ADDRESS:#### -O WALLETADDRESS:ANYPW :::Multi GPU, Single Command Prompt ::DoubleGPU.bat cudaminer.exe -d 0,1 -H 1,1 -i 1,1 -l K3x9,K4x32 -C 1,1 -o stratum+tcp://YOUR.POOL.ADDRESS:#### -O USER.WORKER:WORKERPW 
Fundamental Flags:
  • FLAGS ARE CASE SENSITIVE
Setting -flag (Options) Description
cudaminer.exe N/A Call to execute cudaMiner
Specify Device -d (Any, counts from 0) Only for multi-GPU configurations: create multiple .bat files or use comma separated values.
Interactive Mode -i (0/1) When enabled, it reduces GPU utilization and hash rate to allow for computer use during mining
Enable Texture Cache -C (0/1/2) (Disabled, 1-D Caching, 2-D Caching) may increase or reduce hash rate, available according to your compute capability - check WIKI CUDA LINK BELOW
Memory Batching -m (0/1) Consolidates hash work into a single memory block and can lead to lower memory usage. Is implicitly enabled with Texture Caching.
Hash Parallel -H (0/1/2) (CPU Only, CPU Assist, GPU Only) determines how much work will be shared by the CPU. Defaults to GPU Only (2) if not specified.
Launch Configuration^ -l (auto/G/GBxW) Autotune, autotune for card generation, or specify particular setting. Defaults to autotune if not specified.
Server URL -o Address:Port Full URL of the mining server you wish to connect to.
Device Credentials -O User:Pass Username (or Username.Workername for pools) & password pair for the mining server for your device.
Debug-Benchmark Mode& -D --benchmark Verbose output to view block/warp chart and test a configuration.
  • NOTE ^ : This option is they key to tuning your hash rate and resulting GPU temperature. Choosing "auto" will enable autotuning, allowing cudaMiner to choose the best config. Choosing just "G," card generation code, will autotune for that specific card generation. "GBxW" is the specific setting you choose for the card where "BLOCK" is the row #, "WARP" is the Column number in autotune chart. Your BLOCKxWARP value should not exceed your maximum core configuration (WIKI GPU LIST BELOW), otherwise cudaMiner will crash/return error. For best results, the BLOCKxWARP value should be an exact multiple of your core config.
-For example NVIDIA GT 750M, Kepler card, row 4, column 32 is K4x32 (4x32=128). This is exactly 1/3 of and does not exceed the max core config of 384). 
  • NOTE & : Autotuning reported hashrates are not always accurate, but you can use the results in the benchmark table to choose the ballpark hash rate you desire. If you define a setting or allow it to complete the autotuning, it will then begin the benchmark and show you the average hashrate once you end the sesion (CTRL+C). Before closing the command prompt, you can scroll back up and save a screenshot of the block table. Type "Y" after ending to close the program. Remember to turn OFF the flag -D --benchmark after you are done. This is benchmark mode; cudaMiner will not connect to the pool until you remove this flag
Sources & Additional References:
BitcoinTalk - cudaMiner Downloads & Latest News
Netcode Pool - cudaMiner Guide
/dogemining - NVIDIA Tuning Guide
Hardware Specifications/Comparisons
Wikipedia - Comparison of NVIDIA GPUs
Wikipedia - CUDA
cudaMiner Devs - cudaMiner scrypt Hashrate list
Litecoin WIKI - Hardware Comparison List
Litecoin WIKI - Hardware Comparison List (Raw Data)
Last Updated Mar 1, 2014
NyanCoins: KKvQjafJ3QckoCNQtdLkDfieBqUpuAVM4y
DogeCoins: DD4TcmjNE9RhVBaSadZDkqZtTQfyUstsFL
Or tips! Contributions greatly appreciated!
submitted by FwuffyKittens to nyanmining [link] [comments]

JavaScript Code to embed Bitcoin payment Dynamic QR Code to reflect current BTC Market prices

Code is as follows and is also available at JSFiddle
/* Javascript to include current Bitcoin price to dynamic QR Code. HTML Code looks like: 
Lines to change and put in your own variables are 2 (e.g. https://..../global/USD), 7 where you can change currency and amount (e.g. var usdValue = 10.75;), 8 where you need to change eurValue to usdValue or cnyValue, and finally and most importantly change line 10 to reflect the correct Bitcoin Address or else I'll be getting your coins :) */ var xbtc = new XMLHttpRequest(); xbtc.open('GET', 'https://api.bitcoinaverage.com/tickeglobal/EU', true); xbtc.onreadystatechange = function(){ if(xbtc.readyState == 4){ var ticker = JSON.parse(xbtc.responseText); var price = ticker.last; var eurValue = 5; var btcConvert = eurValue/price; btcConvert = btcConvert.toFixed(8); var qrurl = "https://chart.googleapis.com/chart?chs=250x250&cht=qr&chl=bitcoin:381pXT7jSWis2tnL71Fnh7CTy4dW58deFr?amount=" + btcConvert; document.getElementById('btc').innerHTML = ""; } }; xbtc.send();
If you like this and get use out of it, please consider donating BTC to The RNLI.
submitted by sonofbelial1983 to Bitcoin [link] [comments]

Bitcoin JSON-RPC Tutorial 5 - Your First Calls Bitcoin Trading Live Charts - YouTube Using the Bitcoin Charts API in Google Sheets Bitcoin JSON-RPC Tutorial 5 - Your First Calls EXCEL BITCOIN CALCULATOR (WITH PARSING JSON) - 2

The Blockchain Charts & Statistics API provides a simple interface to programmatically interact with the charts and statistics displayed on blockchain.info. Preamble Date parameters are represented as YYYY-MM-DDThh:mm:ss or YYYY-MM-DD. Bitcoin Ticker; Fetching the JSON Data. The XMLHttpRequestobject can be used to request data from a web server. To send a request to a server, open() method of the XMLHttpRequest object is used. To access the Real-Time Data Charts provided by FusionCharts, head to real-time charts. Get 11 bitcoin chart plugins and scripts on CodeCanyon. Buy bitcoin chart plugins, code & scripts from $15. All from our global community of web developers. The difficulty is a measure of how difficult it is to mine a Bitcoin block, or in more technical terms, to find a hash below a given target. A high difficulty means that it will take more computing power to mine the same number of blocks, making the network more secure against attacks. Bitcoincharts is the world's leading provider for financial and technical data related to the Bitcoin network. It provides news, markets, price charts and more.

[index] [16889] [5897] [194] [19262] [1339] [25366] [8077] [23348] [25256] [6536]

Bitcoin JSON-RPC Tutorial 5 - Your First Calls

Bitcoin JSON-RPC Tutorial 4 - Command Line Interface - Duration: 5:14. m1xolyd1an 10,986 views. 5:14. Investigation of the effect of Cracks on Vibration Parameters of A Cantilever Beam WEBINAR ... Bitcoin JSON-RPC tutorial. Making your first bitcoin JSON-RPC calls in PHP. My Book: https://www.amazon.com/Building-Bitco... BTC: 1NPrfWgJfkANmd1jt88A141PjhiarT8d9U. Bitcoin JSON-RPC Tutorial 4 - Command Line Interface - Duration: 5:14. m1xolyd1an 11,014 views. 5:14. Building a 3.5kWh DIY Solar Generator for $650 - Start to Finish - Duration: 33:01. In this video series, I explain instantly - dynamically reaching bitcoin amounts in excel and getting excel worksheets. At the same time, the process of adding library to excel and parsing JSON is ... Bitcoin JSON-RPC Tutorial 4 - Command Line Interface - Duration: 5:14. m1xolyd1an 11,007 views. 5:14 # 1 MS Project 2019 Basics in 20 Minutes Easy - Duration: 29:37.

Flag Counter