getblocktemplate - Bitcoin Wiki

Groestlcoin 6th Anniversary Release

Introduction

Dear Groestlers, it goes without saying that 2020 has been a difficult time for millions of people worldwide. The groestlcoin team would like to take this opportunity to wish everyone our best to everyone coping with the direct and indirect effects of COVID-19. Let it bring out the best in us all and show that collectively, we can conquer anything.
The centralised banks and our national governments are facing unprecedented times with interest rates worldwide dropping to record lows in places. Rest assured that this can only strengthen the fundamentals of all decentralised cryptocurrencies and the vision that was seeded with Satoshi's Bitcoin whitepaper over 10 years ago. Despite everything that has been thrown at us this year, the show must go on and the team will still progress and advance to continue the momentum that we have developed over the past 6 years.
In addition to this, we'd like to remind you all that this is Groestlcoin's 6th Birthday release! In terms of price there have been some crazy highs and lows over the years (with highs of around $2.60 and lows of $0.000077!), but in terms of value– Groestlcoin just keeps getting more valuable! In these uncertain times, one thing remains clear – Groestlcoin will keep going and keep innovating regardless. On with what has been worked on and completed over the past few months.

UPDATED - Groestlcoin Core 2.18.2

This is a major release of Groestlcoin Core with many protocol level improvements and code optimizations, featuring the technical equivalent of Bitcoin v0.18.2 but with Groestlcoin-specific patches. On a general level, most of what is new is a new 'Groestlcoin-wallet' tool which is now distributed alongside Groestlcoin Core's other executables.
NOTE: The 'Account' API has been removed from this version which was typically used in some tip bots. Please ensure you check the release notes from 2.17.2 for details on replacing this functionality.

How to Upgrade?

Windows
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer.
OSX
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), run the dmg and drag Groestlcoin Core to Applications.
Ubuntu
http://groestlcoin.org/forum/index.php?topic=441.0

Other Linux

http://groestlcoin.org/forum/index.php?topic=97.0

Download

Download the Windows Installer (64 bit) here
Download the Windows Installer (32 bit) here
Download the Windows binaries (64 bit) here
Download the Windows binaries (32 bit) here
Download the OSX Installer here
Download the OSX binaries here
Download the Linux binaries (64 bit) here
Download the Linux binaries (32 bit) here
Download the ARM Linux binaries (64 bit) here
Download the ARM Linux binaries (32 bit) here

Source

ALL NEW - Groestlcoin Moonshine iOS/Android Wallet

Built with React Native, Moonshine utilizes Electrum-GRS's JSON-RPC methods to interact with the Groestlcoin network.
GRS Moonshine's intended use is as a hot wallet. Meaning, your keys are only as safe as the device you install this wallet on. As with any hot wallet, please ensure that you keep only a small, responsible amount of Groestlcoin on it at any given time.

Features

Download

iOS
Android

Source

ALL NEW! – HODL GRS Android Wallet

HODL GRS connects directly to the Groestlcoin network using SPV mode and doesn't rely on servers that can be hacked or disabled.
HODL GRS utilizes AES hardware encryption, app sandboxing, and the latest security features to protect users from malware, browser security holes, and even physical theft. Private keys are stored only in the secure enclave of the user's phone, inaccessible to anyone other than the user.
Simplicity and ease-of-use is the core design principle of HODL GRS. A simple recovery phrase (which we call a Backup Recovery Key) is all that is needed to restore the user's wallet if they ever lose or replace their device. HODL GRS is deterministic, which means the user's balance and transaction history can be recovered just from the backup recovery key.

Features

Download

Main Release (Main Net)
Testnet Release

Source

ALL NEW! – GroestlcoinSeed Savior

Groestlcoin Seed Savior is a tool for recovering BIP39 seed phrases.
This tool is meant to help users with recovering a slightly incorrect Groestlcoin mnemonic phrase (AKA backup or seed). You can enter an existing BIP39 mnemonic and get derived addresses in various formats.
To find out if one of the suggested addresses is the right one, you can click on the suggested address to check the address' transaction history on a block explorer.

Features

Live Version (Not Recommended)

https://www.groestlcoin.org/recovery/

Download

https://github.com/Groestlcoin/mnemonic-recovery/archive/master.zip

Source

ALL NEW! – Vanity Search Vanity Address Generator

NOTE: NVidia GPU or any CPU only. AMD graphics cards will not work with this address generator.
VanitySearch is a command-line Segwit-capable vanity Groestlcoin address generator. Add unique flair when you tell people to send Groestlcoin. Alternatively, VanitySearch can be used to generate random addresses offline.
If you're tired of the random, cryptic addresses generated by regular groestlcoin clients, then VanitySearch is the right choice for you to create a more personalized address.
VanitySearch is a groestlcoin address prefix finder. If you want to generate safe private keys, use the -s option to enter your passphrase which will be used for generating a base key as for BIP38 standard (VanitySearch.exe -s "My PassPhrase" FXPref). You can also use VanitySearch.exe -ps "My PassPhrase" which will add a crypto secure seed to your passphrase.
VanitySearch may not compute a good grid size for your GPU, so try different values using -g option in order to get the best performances. If you want to use GPUs and CPUs together, you may have best performances by keeping one CPU core for handling GPU(s)/CPU exchanges (use -t option to set the number of CPU threads).

Features

Usage

https://github.com/Groestlcoin/VanitySearch#usage

Download

Source

ALL NEW! – Groestlcoin EasyVanity 2020

Groestlcoin EasyVanity 2020 is a windows app built from the ground-up and makes it easier than ever before to create your very own bespoke bech32 address(es) when whilst not connected to the internet.
If you're tired of the random, cryptic bech32 addresses generated by regular Groestlcoin clients, then Groestlcoin EasyVanity2020 is the right choice for you to create a more personalised bech32 address. This 2020 version uses the new VanitySearch to generate not only legacy addresses (F prefix) but also Bech32 addresses (grs1 prefix).

Features

Download

Source

Remastered! – Groestlcoin WPF Desktop Wallet (v2.19.0.18)

Groestlcoin WPF is an alternative full node client with optional lightweight 'thin-client' mode based on WPF. Windows Presentation Foundation (WPF) is one of Microsoft's latest approaches to a GUI framework, used with the .NET framework. Its main advantages over the original Groestlcoin client include support for exporting blockchain.dat and including a lite wallet mode.
This wallet was previously deprecated but has been brought back to life with modern standards.

Features

Remastered Improvements

Download

Source

ALL NEW! – BIP39 Key Tool

Groestlcoin BIP39 Key Tool is a GUI interface for generating Groestlcoin public and private keys. It is a standalone tool which can be used offline.

Features

Download

Windows
Linux :
 pip3 install -r requirements.txt python3 bip39\_gui.py 

Source

ALL NEW! – Electrum Personal Server

Groestlcoin Electrum Personal Server aims to make using Electrum Groestlcoin wallet more secure and more private. It makes it easy to connect your Electrum-GRS wallet to your own full node.
It is an implementation of the Electrum-grs server protocol which fulfils the specific need of using the Electrum-grs wallet backed by a full node, but without the heavyweight server backend, for a single user. It allows the user to benefit from all Groestlcoin Core's resource-saving features like pruning, blocks only and disabled txindex. All Electrum-GRS's feature-richness like hardware wallet integration, multi-signature wallets, offline signing, seed recovery phrases, coin control and so on can still be used, but connected only to the user's own full node.
Full node wallets are important in Groestlcoin because they are a big part of what makes the system be trust-less. No longer do people have to trust a financial institution like a bank or PayPal, they can run software on their own computers. If Groestlcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine.
Full node wallets are also important for privacy. Using Electrum-GRS under default configuration requires it to send (hashes of) all your Groestlcoin addresses to some server. That server can then easily spy on your transactions. Full node wallets like Groestlcoin Electrum Personal Server would download the entire blockchain and scan it for the user's own addresses, and therefore don't reveal to anyone else which Groestlcoin addresses they are interested in.
Groestlcoin Electrum Personal Server can also broadcast transactions through Tor which improves privacy by resisting traffic analysis for broadcasted transactions which can link the IP address of the user to the transaction. If enabled this would happen transparently whenever the user simply clicks "Send" on a transaction in Electrum-grs wallet.
Note: Currently Groestlcoin Electrum Personal Server can only accept one connection at a time.

Features

Download

Windows
Linux / OSX (Instructions)

Source

UPDATED – Android Wallet 7.38.1 - Main Net + Test Net

The app allows you to send and receive Groestlcoin on your device using QR codes and URI links.
When using this app, please back up your wallet and email them to yourself! This will save your wallet in a password protected file. Then your coins can be retrieved even if you lose your phone.

Changes

Download

Main Net
Main Net (FDroid)
Test Net

Source

UPDATED – Groestlcoin Sentinel 3.5.06 (Android)

Groestlcoin Sentinel is a great solution for anyone who wants the convenience and utility of a hot wallet for receiving payments directly into their cold storage (or hardware wallets).
Sentinel accepts XPUB's, YPUB'S, ZPUB's and individual Groestlcoin address. Once added you will be able to view balances, view transactions, and (in the case of XPUB's, YPUB's and ZPUB's) deterministically generate addresses for that wallet.
Groestlcoin Sentinel is a fork of Groestlcoin Samourai Wallet with all spending and transaction building code removed.

Changes

Download

Source

UPDATED – P2Pool Test Net

Changes

Download

Pre-Hosted Testnet P2Pool is available via http://testp2pool.groestlcoin.org:21330/static/

Source

submitted by Yokomoko_Saleen to groestlcoin [link] [comments]

Ravencoin Open Developer Meeting - 1/4/2019

[14:04] Hi everyone! [14:04] :dabbitwave: [14:04] Hey Everybody! [14:04] Hello 😃 [14:04] Sorry we're getting started a bit late. [14:04] Topics: SLC Meetup (March 15th) [14:04] 👋 [14:04] Roadmap breakdown - posted to github [14:05] IPFS (integration) [14:05] greetings 👋 [14:05] So, SLC Meetup on the 15th! [14:05] Great! [14:05] Hi! [14:06] Hi all — a special thanks to the developers and congratulations on an amazing first year!!! # [14:06] <[Dev] Blondfrogs> Hello Everyone! [14:07] We have a tentative agenda with @Tron , @corby speaking. [14:08] We would like to have nice walkthrough of the Raven DevKit for the meetup. [14:08] We are planning on hosting a meetup in SLC at the Overstock building on March 15th from 6:00pm-9:00pm. It is free admission, but there is a page on meetup.com where people can rsvp so that we have a somewhat accurate headcount for food. [14:08] sup guys [14:08] hey russ [14:09] We are planning on having a few speakers and have allotted a bit of time at the end for people to meet and greet each other. [14:09] can you guys link us to the page somewhere when thats available? 😄 [14:10] free food?! [14:10] todays topic? [14:10] yeah can we indicate pepperoni pizza [14:10] Sounds good to me @Jeroz Nothing ordered yet though. 😃 [14:10] only pepperoni pizza is served at true blockchain meetings right [14:10] :blobhide: [14:10] Absolutely. The itinerary just needs to be finalized and then I'll make a broad post about the rest of the details. [14:11] https://www.meetup.com/Salt-Lake-City-salt-lake-city-Meetup/ [14:11] 😭 so far away [14:11] West Coast! [14:11] @MTarget But there's pizza, so worth the travel time. [14:11] lol [14:12] I'll be watching the stream if its available since i'm from montreal/canada 😛 [14:12] Ah yes, I love $300 pizza 😉 [14:12] as long as I get to see your smiling faces @Tron @RavencoinDev then it's worth the time [14:12] We'll be there. [14:12] We'll be messaging additional details as they get finalized. [14:12] Greeting and salutations! [14:12] sup [14:13] Hey, $300 is considerably cheaper than 2 $3,700,000 pizzas. [14:14] Ok, switching topics... [14:14] yeah its a way to fly, [14:14] question is whether those piza's will be paid for in RVN coin or not :ThinkBlack: [14:14] Roadmap [14:14] It hasn't changed, just added some detail. [14:14] https://github.com/RavenProject/Ravencoin/tree/masteroadmap [14:15] nice [14:15] This now links to a breakdown for messaging, voting, anti-spam, and rewards (dividends) [14:15] will there be any additional RPC functionality coming in the future, thinking in terms of some functions that are only available in ravencore-lib [14:15] apologies if now is not time to ask questions, i can wait for later [14:15] "Phase 7 - Compatibility Mode" - that's new 😮 [14:15] The protocol for messaging is pretty well established, but the rest isn't in stone (code) yet. [14:16] can you give us details on compatibility mode? [14:16] In broad brush strokes. [14:17] The idea is to allow ravend to act as a daemon that looks like a single coin. [14:17] so ravend that only works with the bitcoin asset? [14:18] interesting [14:19] So you start it with an option to only work with a single asset/token account or something? [14:19] hmm compelling what is the reason for this? some kind of scale or performance? [14:19] ^ [14:19] Example: Configure ravend to listen for transfer RPC call for senttoaddress or sendfrom, but for a specific asset. This would allow easy integration into existing system for assets. [14:20] Only the daemon or the whole wallet UI? [14:20] yeah thats great, rpc functions dont allow us to do this yet, if i recall [14:20] or at least we depend more on ravencore lib [14:20] so like asset zmq [14:20] that's smart [14:20] @Tron it also sounds like it makes our life easier working with RPC, instead of core all the time for some functionality [14:21] if i understand correctly anyways [14:21] So you could run numerous instances of ravend each on their own network and RPC port, each configured for a different asset. You would need some balance of RVN in each one to cover transaction fees, then. [14:21] id be curious to know what all the advantages are of this [14:21] one more question, how would i decentralize the gateway between bitcoin mainnet/ravencoin mainnet? in the current RSK implementation they use a federated gateway, how would we avoid this? [14:21] it sounds neato [14:21] Just the daemon. The alternative is to get exchanges to adapt to our RPC calls for assets. It is easier if it just looks like Bitcoin, Litecoin or RVN to them, but it is really transferring FREE_HUGS [14:22] That makes sense. Should further increased exchange adoption for each asset. [14:22] hmm yeah its just easier for wallet integration because its basically the same as rvn and bitcoin but for a specific asset [14:22] so this is in specific mind of exchange listings for assets i guess [14:23] if i understand rightly [14:23] @traysi Gut feel is to allow ravend to handle a few different assets on different threads. [14:23] Are you going to call it kawmeleon mode? [14:23] Lol [14:23] I read that as kaw-melon mode. [14:24] same lol [14:24] so in one single swoop it possible to create a specific wallet and server daemon for specific assets. great. this makes it easier for exchanges, and has some added advantages with processing data too right? [14:24] Still keeping a RVN balance in the wallet, as well, Tron. How will that work is sendtoaddress sends the token instead of the RVN? A receive-RVN/send tokens-only wallet? [14:25] @traysi Yes [14:25] sendtoaddress on the other port (non RVN port) would send the asset. [14:25] This will be a hugely useful feature. [14:25] ^ [14:26] @Tron currently rpc function not support getaddresses senttowallet and this has to be done in ravencore lib, will this change you propose improve this situation [14:26] Config might look like {"port":2222, "asset":"FREE_HUGS", "rpcuser":"hugger", "rpcpass":"gi3afja33"} [14:26] how will this work cross-chain? [14:28] @push We'd have to go through the rpc calls and work out which ones are supported in compatibility mode. Obviously the mining ones don't apply. And some are generic like getinfo. [14:28] ok cool 👍 cheers [14:29] for now we continue using ravencore lib for our plans to keep track i just wondering if better way [14:29] as we had some issue after realising no rpc function for getting addresses of people who had sent rvn [14:29] @push | ravenland.org all of the node explorer and ravencore-lib functionality is based on RPC (including the addressindex-related calls). Nothing you can't do with RPC, although I'm not sure of the use cases you're referring to.. [14:29] interesting, so ravencore lib is using getrawtransaction somehow [14:29] i thought this may be the case [14:29] that is very useful thankyou for sharing this [14:30] look into addressindex flag and related RPC calls for functions that operate on addresses outside your wallet [14:30] thank you that is very useful, tbh i am not very skilled programmer so just decoding the hex at the raven-cli commandline was a challenge, i shall look more into this, valued information thanks as this was a big ? for us [14:31] Ok, things have gone quiet. New topic. [14:31] IPFS (integration) [14:31] GO [14:33] ... [14:33] <[Dev] Blondfrogs> So, we have been adding ipfs integration into the wallet for messaging. This will allow the wallets to do some pretty sweet stuff. For instance, you will be able to create your ipfs data file for issuing an asset. Push it to ipfs from the wallet, and add the hash right into the issuance data. This is going to allow for a much more seamless flow into the app. [14:34] <[Dev] Blondfrogs> This ofcourse, will also allow for users to create messages, and post them on ipfs and be able to easily and quickly format and send messages out on the network with ipfs data. [14:34] It will also allow optional meta-data with each transaction that goes in IPFS. [14:34] will i be able to view ipfs images natively in the wallet? [14:34] <[Dev] Blondfrogs> Images no [14:34] We discussed the option to disable all IPFS integration also. [14:35] @russ (kb: russkidooski) Probably not. There's some risk to being an image viewer for ANY data. [14:35] No option in wallet to opt into image viewing? [14:35] cool so drag and drop ipfs , if someone wanted to attach an object like an image or a file they could drag drop into ui and it create hash and attach string to transaction command parameters automatically [14:35] We could probably provide a link -- with a warning. [14:35] nomore going to globalupload.io [14:35] :ThinkBlack: [14:35] I understand that the wallet will rely on globalupload.io. (phase 1). Is it not dangerous to rely on an external network? Or am I missing something? [14:36] hmm [14:36] interesting, i suppose you could hash at two different endpoints and compare them [14:36] if you were that worried [14:36] and only submit one to the chain [14:36] You will be able to configure a URL that will be used as an IPFS browser. [14:36] Oh ic [14:36] you wont flood ipfs because only one hash per unique file [14:36] <[Dev] Blondfrogs> There are multiple options for ipfs integration. We are building it so you can run your own ipfs node locally. [14:36] <[Dev] Blondfrogs> or, point it to whatever service you would like. e.g. cloudflare [14:36] this is very cool developments, great to see this [14:37] Just like the external block explorer link currently in preferences. [14:37] @[Dev] Blondfrogs what about a native ipfs swarm for ravencoin only? [14:37] We have discussed that as an option. [14:37] @push | ravenland.org Considering having a fallback of upload through globalupload.io and download through cloudflare. [14:37] <[Dev] Blondfrogs> @russ (kb: russkidooski) We talked about that, but no decisions have been made yet. [14:37] yeah, i would just use two endpoints and strcompare the hash [14:37] as long as they agree good [14:37] submit tran [14:38] else 'potentially mysterious activity' [14:38] ? [14:38] if you submitted the file to ipfs api endpoints [14:38] Will the metadata just be a form with text only fields? [14:39] and then you would get 2 hashes, from 2 independent services [14:39] that way you would not be relying on a central hash service [14:39] and have some means of checking if a returned hash value was intercepted or transformed [14:39] i was answering jeroz' question [14:40] about relying on a single api endpoint for upload ipfs object [14:40] We have also kicked around the idea of hosting our own JSON only IPFS upload/browse service. [14:41] I have a service like this that is simple using php [14:41] we only use it for images right now [14:41] but fairly easy to do [14:41] Yup [14:42] Further questions about IPFS? [14:43] contract handling? file attach handling? or just text fields to generate json? [14:44] trying to get an idea of what the wallet will offer for attaching data [14:44] Probably just text fields that meet the meta-data spec. [14:44] ok noted [14:44] What do you mean by contract handling @sull [14:45] We won't prevent other hashes from being added. [14:45] asset contract (pdf etc) hash etc [14:45] <[Dev] Blondfrogs> also, being able to load from a file [14:45] got it, thanks [14:47] Let's do some general Q&A [14:48] Maybe just a heads up or something to look for in the future but as of right now, it takes roughly 12 hours to sync up the Qt-wallet from scratch. Did a clean installation on my linux PC last night. [14:48] Any plans or discussions related to lack of privacy of asset transfers and the ability to front run when sending to an exchange? [14:48] ^ [14:48] Is there a way to apply to help moderate for example the Telegram / Discord, i spend alot of time on both places, sometimes i pm mods if needed. [14:49] Any developed plans for Asset TX fee adjustment? [14:49] also this^ [14:49] @mxL86 We just created a card on the public board to look into that. [14:49] General remark: https://raven.wiki/wiki/Development#Phase_7_-_Compatible_Mode = updated reflecting Tron's explanation. [14:49] @mxL86 That's a great question. We need to do some profiling and speed it up. I do know that the fix we added from Bitcoin (that saved our bacon) slowed things down. [14:50] Adding to @mxL86 the sync times substantially increased coinciding with the asset layer activation. Please run some internal benchmarks and see where the daemon is wasting all its cycles on each block. We should be able to handle dozens per second but it takes a couple seconds per block. [14:50] @BW__ no plans currently for zk proofs or anything if that's what you're asking [14:50] You are doing a great job. Is there a plan that all this things (IPFS) could be some day implemented in mobile wallet? Or just in QT? [14:50] i notice also that asset transactions had some effect on sync time as we were making a few. Some spikes i not analysed the io and cpu activity properly but will if there is interest [14:51] we are testing some stuff so run into things i am happy to share [14:51] @BW__ Might look at Grin and Beam to see if we can integrate Mimble Wimble -- down the road. [14:51] yeees [14:51] @J. | ravenland.org work with the telegram mods. Not something the developers handle. [14:51] i love you [14:51] @J. | ravenland.org That would be best brought up with the operators/mods of teh telegram channel. [14:51] @corby @Tron thnx [14:51] @S1LVA | GetRavencoin.org we're planning on bumping fees to... something higher! [14:51] no catastrophic failures, just some transaction too smals, and mempool issues so far, still learning [14:52] @corby i thought that this may happen :ThinkBlack: [14:52] @corby x10? 100x? 1000x? Ballpark? [14:52] Definitely ballpark. [14:52] 😃 [14:52] 😂 [14:52] Is a ballpark like a googolplex? [14:53] @push | ravenland.org asset transactions are definitely more expensive to sync [14:53] yes yes they are [14:53] they are also more expensive to make i believe [14:53] 10,000x! [14:53] as some sync process seems to occur before they are done [14:53] @traysi ★★★★★ thanks for the suggestions we are going to be looking at optimizations [14:53] But, it is way slower than we like. Going to look into it. [14:53] i do not understand fully its operation [14:53] 1000x at minimum in my opinion [14:53] its too easy to spam the network [14:54] yes there has been some reports of ahem spam lately [14:54] :blobhide: [14:54] 😉 [14:54] cough cough ravenland [14:54] @russ (kb: russkidooski) we're in agreement -- it's too low [14:54] default fee 0.001 [14:54] ^ something around here [14:54] @corby yep we all are i think [14:55] waaay too low [14:55] meaningful transactions start with meaningful capital expense [14:55] though there is another scenario , there are some larger volume, more objective rich use cases of the chain that would suffer considerably from that [14:55] just worth mentioning, as i have beeen thinking about this a lot [14:55] there are some way around, like i could add 1000 ipfs hashes to a single unique entity, i tested this and it does work [14:56] @russ (kb: russkidooski) What would you suggest. [14:57] I had a PR for fee increase and push back. [14:57] Ignore the push back. 0.001 RVN is not even a micro-farthing in fiat terms [14:57] definitely around 1000x [14:57] Vocal minority for sure [14:57] ^ yep [14:57] @russ (kb: russkidooski) That sounds reasonable. [14:57] Couple hundred Fentons [14:58] right now an asset transaction is 0.01 of a penny essentially [14:58] 1 RVN would work now, but not when RVN is over $1. [14:58] yes exactly [14:58] Hi. Late to the party. [14:58] We are also talking about a min fee. The system will auto-adapt if blocks fill up. [14:58] im thinking tron, some heavy transaction use cases would fall out of utility use if that happened [14:58] so whats the thinking there [14:59] is there a way around the problem, bulked ipfs hash transactions? [14:59] 1000x would put us around btc levels [14:59] maybe a minimum 500x? [14:59] @russ (kb: russkidooski) Agreed. [14:59] <[Dev] Blondfrogs> It is time to wrap it up here. Everyone. Thank you all for your questions and thoughts. We will be back in 2 weeks. 😃 [14:59] Small increase and review. [14:59] Thanks all! [14:59] Cheers. [15:00] yeah sorry for 1 million questions guys hope i didnt take up too much time [15:00] cheers all 👍 [15:00] Thanks everyone [15:00] Thanks everyone for participating!!! [15:00] That is what we are here for [15:00] 100x-500x increase, 1000x maximum [15:00] 🍺

submitted by Chatturga to Ravencoin [link] [comments]

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

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

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

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

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

DEVCON2 report: Day Three - Final day

previous days
Question: the 3 days of devcon are over. Are people interested in reports on the next 3 days of international Blockchain week (demo day + 2 days of global Blockchain summit) http://www.blockchainweek2016.org
`
Event update
The buzz during the day was around the "stick puzzle" that Bok Khoo was giving out to people. It is just a stick, with a loop of string. He gets you to turn away, he uses "the trick" to put it onto your bag and then you try to get it off.
The WeChat channel was just filled with everyone asking where they can get it, and the screaming that they can't figure it out. Only about 5 people reported they were able to solve it (I haven't yet)
http://imgur.com/mYfJQP4 http://imgur.com/4Euka1a
`
Sessions
I'm biased, but I thought the announcement from Microsoft with the update of cryptlets was a big deal. The morning sessions covered a few different oracle systems, the afternoon had lots of IPFS sessions.
Microsoft - A Lap around Cryptlets
https://azure.microsoft.com/en-us/blog/cryptletsdd/ https://azure.microsoft.com/en-us/documentation/templates/ethereum-consortium-blockchain-network/ https://azure.microsoft.com/en-us/blog/authomarleyg
Microsoft was a sponsor of Devcon1 & 2 Ethereum is a 1st class citizen Support for community & partners - Bizspark, Meetups, Workshops
Announcing: Bletchley v1 Distributed Ledger stack V1 is a private Ethrerum consortium, that you can spin up for your own enterprise / group
http://imgur.com/olwwd36
Cryptlets are being developed to help with security, identity, etc. How do you get trusted external data feeds injected into the Blockchain? Doing things on a specific interval (every 15 mins) When price of something hits a threshold (oil goes above $40/barrel) Secure IP protected algorithms, but still share with blockchain network. Use libraries for common platforms (.Net, Java, etc)
Cryptlets vs Oracle Cryptlets will have a marketplace on Azure that will allow you to purchase and utilise
Use case: Trigger on an event Wake up on 4pm, if market was open that day, then give me the price of gold for that day.Get signature of attested server, attested sender.
Use case: Control Using smart contract like a traditional DB. Declare data you are keeping track of, and the functions/"stored proc" to update that data. Cryptlet runs off chain, and can be scaled up.
http://imgur.com/ysgL8S2
Utility cryptlet. Use an attribute in solidity contract with cryptlet details Developer references at design time the cryptlet they want the contract to call Contract cryptlet, deploy the cryptlet at same time as contract.
Why would you want Azure to do this? SGX allows you to create "secure enclaves", can have complete isolation on the hardware chip where it is not modifable. Provides a secure enclave at the CPU level. Can give full attestation right down to the silicon. Will be provided as a enclave container on Azure. Will be released for .NET core CLR first, then other languages. Can create cryptlet libraries that you can scale and put into the Azure marketplace. An ecosystem for developers & ISVs to consume and publish.
Bletchley v1 released today will let you spin up a private consortium. Before today, it took a long time to try and deploy a private consortium (can take weeks to read doco, Now takes 5 minutes to deploy! Creates a private consortium, puts each member in its own separate subnet
http://imgur.com/w4yUsqE
Mist Vision and Demo I was too busy sharing the release posts of Microsoft project bletchey v1, missed this talk. It did look interesting, I will watch this one later. Idea: Reward for bandwidth. Providing connection could replace mining as entrance point for desktop computers. Allow you to have a trickle so you can trigger smart contracts. Standardised backends, so that you can swap out the underlying node between geth, blockapps, etc.
Web3.js
https://github.com/ethereum/web3.js Etehereum JS API Smart conracts are EVM opcodes, Helps translates calls to JSON RPC calls. Helps do the ABI encoding when sending data from JS to EVM It kept on growing, many different utility functions being thrown in. Is time to clean it up and be refactored.
They are now building a NEW web3.js The communication will be socket based, will enable subscriptions. Everything will be based on promises to subscribe to events, like log events. Bunch of other newer cleaner methods and ways to do things like deploying contracts.
Smart contract security
Was a very good postmorteum of The DAO and things that could be done to mitigate it in the future.
An issue with The DAO was trying to do a massive jump from centralisation all the way to full decentralisation. Meant no one could step up and make a decision on how to save it. We need to make smaller steps towards full decentralisation as we learn as a community how to do this. Same security patterns as yesterday's talks: check invarients, beware 1024 call stack depth, reentry exploit (update state BEFORE executing calls), timestamps are manipulatable. Updateable contracts. Who can update it? Community multisig? We need better rools: formal verification, compiler warnings, improved IDEs, trusted libraries, excape hatches
Conclusion: It is still very early days in this space, be careful.
A Provably Honest Oracle Model: Auditable Offchain Data Gathering & Computations
Oracalize is the most widely used oracle (until everyone starts using Microsoft Azure cryptlets ;-) ) Contract calls Oracalize contract with the data they want, off chain they see this get the data, Oracalise then trigger their contract externally, which does a callback to your contract with the data. Can use external notary servers. Can get proof from multiple external services to get a higher level of confidence about data (e.g. stock price from a few feeds). Off-chain (auditable_ computation) AWS sandbox 2.0. Put the execution package onto IPFS, AWS gets it and executes it, signs it.
iEx.ec: Fully Distributed Cloud Thanks to the Ethereum Blockchain
http://iex.ec/ Provides blockchain based execution environments Global market for computing resources. Idea is to do what we did before with "grid computing" use the idle capacity of computers. But this time do a trickle of micropayments. Allows people to harness this global power to execute their tasks in a global "distributed cloud".
The Final frontier: The company smart conract
http://otonomos.com/ Helping companies to incorporate on the blockchain.
Smart oracles
https://github.com/smartoracles Connecting to external resources is difficult. Hard to try and use external currencies (like a bank account / fiat money) to make transactions. Could hook in paypal, HSBC, wells fargo, etc. Can provide your own payment services as an API to a smart oracle for smart contracts to consume. Do off chain data storage by calling smart oracle API Roadmap: more data sources & more payment methods
IPFS & Ethereum: Updates
https://Ipfs.io IPFS is AMAZING, seriously go watch the full 1 hour talks Juan has given in previous years.
Current web has current issues. Centralisation, etc. IPFS is a new hypermedia transfer protocol Content can be retrieved not from specific servers, but instead via it's hash so that it can come from anywhere in the network (maybe from the person next to you who has cached it). It is highly modular, all of the transfer protocals, routing, naming, etc. are all swapable Is available as GO-IPFS & now JS-IPFS Means now you can run IPFS in the browser IPFS was great for static content, but not so great for dynamic content. Low latency pub/sub protocol will help with dynamic data. Created a distributed peer to peer chat app using this new dynamic content protocol. IPLD a common link-tree hash format Will be able to use IPFS to retrieve ethereum blockchain blocks DIRECTLY Can use IPFS as a package manager to retrieve them in a distributed manner.
Many projects are using Ethereum & IPFS Uport, Digix, Infura, Ujo, Eris, Blockfreight. Filecoin was created as a way to try and incentivize nodes to keep files longer time. People rent out hdd space to earn filecoin. Exchange bitcoin/filecoin. Use filecoin to store files in network. Filecoin is going to be built on top of the public Ethereum blockchain, as a virtual blockchain / token.
IPFS Libp2p & Ethereum networking
Network connectivity between any 2 nodes can be difficult. Censorship, bandwidth, network issues, etc. Having to deal with different networking topologies and access. Libp2p & Devp2p is different. Devp2p is for Ethereum. LIbp2p is modular, can swap out components to change network access, encryption methods, etc. Can build up a MEGA mesh network, by utilising traditional wired internet, radio, bluetooth between some nodes. Web browser using web socket, to a node, which routes across network, to zigbee to a IoT device. Libp2p & Devp2p could merge and augment each other. Could create the libp2p components to replace the devp2p bits Any 2 nodes that speak the same protocol can communicate and be a part of the network chain. Experiment. They took the browser based version of EVM. Then used Libp2p to talk to the Ethereum network. Had a complete ethereum node running in a browser.
Uport
https://uport.me/ Universal identity platform Current challenges: key management. Ux for average person. Dapps via mobile. Identity and data ownership. How do you keep a consistent identity, even if you lose a key. Have some multisig contracts that you can use to keep track. Social recovery, use your friends to attest it is really you. Keep private key on mobile, do transactions on the desktop, scan a QR code to sign the transaction on your phone and send it off.
A Deep Dive into the Colony Foundation Protocol
It is an open source governance protocol built on Ethereum Problem with voting is how to prevent Sybil attacks. Votes are weighted by a reputation score. Reputation is non-transferable that can only be earned. Total weighted voting helps mitigate this.
Chain orchestration tooling & smart contract package management
Eris is tooling for developers. Package manager to build your own blockchain. Can compose a chain, e.g. geth + tendermint consensus. Init, install, do. Can easily install on Mac/bew, linux/apt-get, Windows/choco
The Golem Project: Ethereum-based market for computing power
http://www.golemproject.net/ Anyone can make an offer to sell computing power. e.g. Distributed rendering Want to create a standard framework that anyone can use to submit and process jobs.
Status: Integrating Ethereum Into Our Daily Lives
https://status.im Want to get ethereum everywhere. "Mist for Mobile" Everyone is using their mobile phones for everything, but mostly using instant messaging. What would Ethereum in a IM window look? Created a IM mobile app that has a local geth node. tart up, it asks you to create a password, it generates a pub/private pair. Then can send messages via whisper, and the messages are signed with your public key. Can load Dapps up in the local webview and interact with them. Allows you to create "chat Dapps", that you interact with via text. Like chatbots
Maker Ecosystem Overview
www.Makerdao.com Dai: seeking stability on blockchain. Stablecoin engine: smart contract that holds collateral reserves and controls the Dai lifecycle. MKR: open source community managing risk of the system In the last year, investing in a solid technical core. More slow and audit things. Moving into the next phase of stablecoin development. Their latest project is the "Simplecoin project" Meeting Thereum community's need for stability. An independent platform for creating centrally administered simple stablecoins. Issues create their own rule sets: Collateral types, participant whitelists, security parameters. Example: Shrutebucks. The only people who own it are Dwight, Jim & Pam. They backed it with 1/3 ETH 1/3 DGX 1/3 DUSD.
Orbit. A distributed peer to peer app on IPFS
https://github.com/haadcode Created a full distributed chat room, itself distributed through IPFS. It is integrated with uPort for identification Using uPort allows you to verify that you are talking to the correct person in the chat channel. All their messages are signed with their public keys He also created a full distribited twitter clone, using uport for the identity as well. Orbit-db key value store DB that stores its data on IPFS. Eventually consistent Appends data to the DB, an event is sent to those subscribed on pub/sub so they can see the latest root hash. Based on CRDT Ethereum + Pubsub + CRDTs + IPFS = super power primatives to build dynamic distributed apps
Development considerations with distributed apps. Need to ensure that apps work offline. No centralised servers. No data silos. Provide integration path.
Future work: could you use uPort for ACL like permissions? Mobile use cases, how to make it work nicely on mobiles
Building scalable React Dapp architecture
https://github.com/SilentCicero/react-dapp-boilerplate React + Ethereum He has a configured boilerplate template. Has contract scaffolding. Enforced contract Linting/testing. Wallet generation/identity. Preconfigured web3 instance. UI: Mature react arhitecture "react boilerplate". Prices listed in USD with ETH/btc via kraken api. A basic multi-contract example Dapp. Offline first, dapp runs without internet. Uses Redux. State models in UI & blockchains work well. PostCSS, CSS Modules, sanitize.cs. Redux, immutableJS, reslect, redux-saga, i18n, redux-router. Web3, ethdeploy, dapple, solium, eth-lightwallet, chaithereum, ethereumjs0-testrpc Enforced contract testing in 2 languages.
Ethereum for Enterprise (BlockApps Strato)
Trying to make sure that Ethereum stays relevent to enterprise development. Why do you need a blockchain WITHIN an org, shouldn't they trust each other? Well different departments may not, they may reconcile differently, and can help automate/orchestrate between them. Blockchain is the "killer app" for cloud financial services. Legacy infrastructure, batch prossing, etc are all restricting fintech from progressing. Blockchain can happen in real time, can replace legacy. Ethereum is very flexible and programmable, works well. There are others based on Bitcoin (like Hyperledger). Ethereum + Blockapps = Extreme productivity + Proven Technology. Blockapps is extending Ethereum for Enterprise. Runs very well on Azure Enterprises don't want all their data exposed on public chain. Blockapps helps solve data privacy and scaling with multichain fabrics.
submitted by DavidBurela to ethereum [link] [comments]

Why is does it take so long to shut down an node used only as a JSON-RPC server?

I'm trying to sync a full node that will only be used as a JSON-RPC server (no mining). I tried to modify the config file and added a service unit, so that the node can run in a low-end VPS with minimum RAM and CPU capabilities. The problem is that the server takes too long to stop, and it's terminated by the system, so it always start rewinding blocks that have been already downloaded.
Here is my configuration file:
server=1 daemon=1 #debug=mempool debug=rpc # If run on the test network instead of the real bitcoin network # testnet=1 # You must set rpcuser and rpcpassword to secure the JSON-RPC api # Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example. # Listen for JSON-RPC connections on  (default: 8332 or testnet: 18332) rpcuser=myuser rpcpassword=pypassword rpcport=8332 # Enable blocks pruning #prune=550 # Limit dbcache=50 maxconnections=4 rpcthreads=2 
And the service unit:
# It is not recommended to modify this file in-place, because it will # be overwritten during package upgrades. If you want to add further # options or overwrite existing ones then use # $ systemctl edit bitcoind.service # See "man systemd.service" for details. # Note that almost all daemon options could be specified in # /etc/bitcoin/bitcoin.conf [Unit] Description=Bitcoin daemon After=network.target [Service] ExecStart=/usbin/bitcoind -daemon=0 -datadir=/home/jsonrpc/bitcoin -conf=/home/jsonrpc/bitcoin/settings.conf ExecStop=/usbin/bitcoin-cli -datadir=/home/jsonrpc/bitcoin -conf=/home/jsonrpc/bitcoin/settings.conf stop # Creates /run/bitcoind owned by bitcoin #RuntimeDirectory=/home/jsonrpc/bitcoin WorkingDirectory=/home/jsonrpc/bitcoin User=jsonrpc Group=jsonrpc TimeoutStopSec=15m #CPUQuota=4% #MemoryLimit=128M #IOReadIOPSMax=10 #IOWriteIOPSMax=10 Type=simple #Restart=on-failure # Hardening measures #################### # Provide a private /tmp and /vatmp. PrivateTmp=true # Mount /usr, /boot/ and /etc read-only for the process. ProtectSystem=full # Disallow the process and all of its children to gain # new privileges through execve(). NoNewPrivileges=true # Use a new /dev namespace only populated with API pseudo devices # such as /dev/null, /dev/zero and /dev/random. PrivateDevices=true # Deny the creation of writable and executable memory mappings. # Commented out as it's not supported on Debian 8 or Ubuntu 16.04 LTS #MemoryDenyWriteExecute=true [Install] WantedBy=multi-user.target 
submitted by rraallvv to Bitcoin [link] [comments]

Recommend Bitcoin REST API for .NET programmer / BlockExplorer API

Hi Bitcoin experts,
I need some advice. What's the best way for a Windows/.NET developer like me to access blockchain information via a REST/RPC API ?
The server app I'm building does the following on a fairly regular basis:
(1) Looks up all transactions involving a specified Bitcoin address and takes action based on the results, and...
(2) Executes outbound transactions, where the transaction bytes are supplied as a preconfigured hex-formatted byte stream.
Here's what I'm doing now:
There's a web API called Insight. It's used by Block Explorer and documented here at https://blockexplorer.com/api-ref. This is where I'm currently pointing my app. It works really well and seems to handle everything I throw at it but I'm concerned that as my load increases (e.g. peaking at 100 queries/minute or more), at some point the site operator will cut me off.
I've tried to mitigate the problem by finding other sites that support the same API. https://insight.bitpay.com is one. https://chain.localbitcoins.com is another. I put these sites in a text file and my app calls into the API on each site in a round robin fashion.
This works. Still though, I'm now encountering errors from the sites' respective CDNs that sit in front of some of the sites -- presumably because I'm running too many queries.
What's a more scalable solution for me?
I have no problem paying a few hundred bucks per month for an AWS server to run a service on my own -- one that only I would use. I'm not exactly sure how to do this though. The Insight API I'm using now, like much of the Bitcoin world, seems geared toward the Linux/Python crowd -- not old farts like me in the Windows/.NET world. I wouldn't even know how to install it.
I also ran across the RPC API located here at https://en.bitcoin.it/wiki/API_reference_(JSON-RPC). Does anyone have any feedback on it's viability? Would I basically be running my own "node" at that point? I wouldn't mind doing that if it runs on Windows 2016. My needs are simple. I'm not mining or anything like that; Just running tons of queries (max 100/min) and executing transactions (max 10/hr).
Any advice is appreciated.
Best,
Festus
submitted by festus_wingbam to Bitcoin [link] [comments]

Transcript from Ravencoin Open Developer Meeting - Nov. 16, 2018

Tron at 2:03 PM

Topics: Messaging (next phase) UI 2.2 - Build from develop - still working out a few kinks Mobile - Send/Rcv/View Assets - In progress Raven Dev Kit -Status

RavencoinDev at 2:04 PM

Hey Everybody! Let's get started!Thanks Tron for posting the topics.Tron is going talk about Messaging Plans.Let's start there.

Chatturga at 2:06 PM

It looks like this channel is not connected to the IRC. One moment

RavencoinDev at 2:07 PM

Well, we going to move forward as the tech guys fix the IRC connections.

Tron at 2:07 PM

I wanted to have a doc describing the messaging, but it isn't quite ready.I understand this isn't going to IRC yet, but I'm starting anyway.

RavencoinDev at 2:08 PM

Look for it soon on a Medium near you.

Tron at 2:08 PM

Summary version: Every transaction can have an IPFS hash attached.

Vincent at 2:09 PM

any plans for a 'create IPFS' button?

RavencoinDev at 2:09 PM

Yes

Vincent at 2:09 PM

on asset creatin window also?

RavencoinDev at 2:09 PM

Yes

Vincent at 2:09 PM

sweet

Tron at 2:09 PM

IPFS attachments for transactions that send ownership token or channel token back to the same address will be considered broadcast messages for that token.The client will show the message.Some anti-spam measures will be introduced.If a token is in a new address, then messages will be on by default.The second token in an address, the channel will be available, but muted by default.

RavencoinDev at 2:11 PM

That way I can't spam out 21b tokens and then start sending messages to everybody.

Tron at 2:11 PM

We'd like to have messaging in a reference client on all six platforms.

corby at 2:11 PM

Hi!

Tron at 2:11 PM

Photos will not be shown. Messages will be "linkified"

RavencoinDev at 2:12 PM

and plain text.We'll start with the QT wallet support

Tron at 2:12 PM

Any other client is free to show any IPFS message they choose.The messaging is fully transparent.

Rikki RATTOE at 2:13 PM

ok, so messaging isn't private

Tron at 2:13 PM

Anyone could read the chain and see the messages.

RavencoinDev at 2:13 PM

No, never was planned to be private

MSFTserver-mine more @ MinerMore at 2:13 PM

irc link should be fixed

Tron at 2:13 PM

It is possible to put encrypted content in the IPFS, but then you'd have to distribute the key somehow.

RavencoinDev at 2:13 PM

Thanks MSFT!

Chatturga at 2:13 PM

Negative

Tron at 2:14 PM

Core protocol changes Extend the OP_RVN_ASSET to include for any transfer: RVNT <0xHH><0x12><0x20><32 bytes encoding 256 bit IPFS hash> 0xHH - File type 0x00 - NO data, 0x01 - IPFS hash, 0x02 through 0xFF RESERVED 0x12 - IPFS Spec - Using SHA256 hash 0x20 - IPFS Spec - 0x20 in hex specifying a 32 byte hash. …. (32 byte hash in binary)

corby at 2:14 PM

By it's nature nothing on chain is private per se. Just like with wallets you'd need to use crypto to secure messaging between parties.

Tron at 2:14 PM

Advantages: This messaging protocol has the advantage of not filling up the blockchain. The message information is public so IPFS works as a great distributed store. If the messages are important enough, then the message sender can run nodes that "PIN" the message to keep a more durable version. The message system cannot be spoofed because any change in the message will result in a different hash, and therefore the message location will be different. Only the unique token holder can sign the transaction that adds the message. This prevents spam. Message clients (wallets), can opt-in or opt-out of messages by channel. Meta-message websites can allow viewing of all messages, or all messages for a token. A simple single channel system is supported by the protocol, but a channel could be sub-divided by a client to have as many sub-channels as desired. There are no limits on the number of channels per token, but each channel requires the 5 RVN fee to create the channel.

RavencoinDev at 2:14 PM

So, somebody could create their own client and encrypt the data on the blockchain if they wished.

corby at 2:15 PM

Wow Tron types fast

Rikki RATTOE at 2:15 PM

yeah there was some confusion in the community whether messaging would be private and off chain

Tron at 2:15 PM

Anti-Spam Strategy One difficulty we have is that tokens can be sent to any Ravencoin asset holder unsolicited. This happens on other asset platforms like Counterparty. In many cases, this is good, and is a way for asset issuers to get their token known. It is essentially an airdrop. However, combined with the messaging capabilities of Ravencoin, this can, and likely will become a spam strategy. Someone who wants to send messages (probably scams) to Ravencoin asset holders, which they know are crypto-savvy people, will create a token with billions of units, send it to every address, and then message with the talking stick for that token. Unless we preemptively address this problem, Ravencoin messaging will become a useless spam channel. Anyone can stop the messages for an asset by burning the asset, or by turning off the channel. A simple solution is to automatically mute the channel (by default) for the 2nd asset sent to an address. The reason this works is because the assets that you acquire through your actions will be to a newly generated address. The normal workflow would be to purchase an asset on an exchange, or through a ICO/STO sale. For an exchange, you'll provide a withdrawal address, and best practice says you request a new address from the client with File->'Receiving addresses…'->New. To provide an address to the ICO/STO issuer, you would do the same. It is only the case where someone is sending assets unsolicited to you where an address would be re-used for asset tokens. This is not 100% the case, and there may be rare edge-cases, but would allow us to set the channels to listen or silent by default. Assets sent to addresses that were already 'on-chain' can be quarantined. The user can burn them or take them out of quarantine.

RavencoinDev at 2:18 PM

Okay, let me know when/if you guys read through all that. 📷📷2

corby at 2:18 PM

To be clear this is a client-side issue -- anyone will be able to send anything (including messages) to any address on chain..

RavencoinDev at 2:18 PM

It'll be in the Medium post later.

Tron at 2:19 PM

@corby The reference client will only show messages signed by the issuer or designated channels.Who is ready for another wall of text? 📷

corby at 2:19 PM

I hear that's the plan 📷 just pointing out that it is on the client in these cases..

Tron at 2:20 PM

Yes, any client can show anything gleaned from the chain.Goal: A simple message format without photos. URL links are allowed and most clients will automatically "linkify" the message for valid URLs. For display, message file must be a valid json file. { "subject":"This is the optional subject", "message": "This is required.", "expires": 1578034800 } Only "message" is required {"message":"Hello world"}

bhorn at 2:21 PM

expires?

Vincent at 2:21 PM

discount coupon?

Tron at 2:21 PM

If you have a message that worthless (say after a vote), just don't show the message.

bhorn at 2:21 PM

i see - more client side operation

corby at 2:21 PM

/expires

Tron at 2:22 PM

Yep. And the expiration could be used by IPFS pinners to stop worrying about the message. Optional

RavencoinDev at 2:22 PM

If the client sees a message that is expired it just won't display it.

Vincent at 2:23 PM

will that me messaged otherwise may cause confusion?"expired'

RavencoinDev at 2:23 PM

YesWe'll do our best to make it intuitive.

Tron at 2:24 PM

Client handling of messages Pop-up messages or notifications when running live. Show messages for any assets sent to a new address - by default Mute messages for assets sent to an address that was already on-network. Have a setting to not show messages older than X IPFSHash (or 8 bytes of it) =

Rikki RATTOE at 2:25 PM

will there be a file size limit for IPFS creation in the wallet?

RavencoinDev at 2:25 PM

We'll also provide updated documentation.

Tron at 2:26 PM

Excellent question Rikki. Here are some guidelinesGuidelines: Clients are free to show or not show poorly formed messages. Reference clients will limit message display to properly formed messages. If subject is missing, the first line of the message will be used (up to 80 chars). Standard JSON encoding for newlines, tabs, etc. https://www.freeformatter.com/json-escape.html Expiration is optional, but desired. Will stop showing the message after X date, where X is specified as Unix Epoch. Good for invites, voting requests, and other time sensitive messages that have no value after a specific date. By default clients will not show a message after X blocks (default 1 year) Amount of subject shown will be client dependent - Reference client may cut off at 80 chars. Messages longer than 15,000 (about 8 pages) will not be pinned to IPFS by some scanners. Messages longer than 15,000 characters may be rejected altogether by the client. Images will not be shown in reference clients. Other clients may show any IPFS content at their discretion. IPFSHash is only a "published" message if the Admin/Owner or Channel token is sent from/to the same address. This allows for standard transfers with metadata that don't "publish".Free Online JSON Escape / Unescape Tool - FreeFormatter.comA free online tool to escape or unescape JSON strings

RavencoinDev at 2:26 PM

We're hoping to add preferences that will allow the user to customize their messaging experience.

Tron at 2:27 PM

Also, happy to receive feedback from everyone.

corby at 2:27 PM

In theory though if you maintain your own IPFS nodes you should be able to reference files of whatever size right?

Steelers at 2:27 PM

How about a simple Stop light approach - Green (ball) New Message, Yellow (Ball) Expiring Messages, Red (Ball) Expired Messages

RavencoinDev at 2:27 PM

Yes please! That's the point of sharing it here

Chatturga at 2:27 PM

Fixt

push | ravenland.org at 2:28 PM

Thanks @Tron can you provide any details of the coming 'tooling' at the end of november, and what that might enable (apologies as I am a bit late to meeting if this has been asked already)

VeronicaBOT at 2:28 PM

sup guys

Tron at 2:28 PM

Sure, that's coming.

RavencoinDev at 2:28 PM

That's the Raven WebDev Kit topic coming up in a few mins.

push | ravenland.org at 2:29 PM

oki 📷 cheers

RavencoinDev at 2:29 PM

Questions on messaging?

Jeroz at 2:30 PM

Not sure if I missed it, but how fast could you send multiple messages in succession?

BruceFenton at 2:30 PM

Some kind of sweep feature or block feature for both tokens and messages could be useful Certain messages will be illegal to possess in certain jurisdictions If someone sends a picture of Tiennneman tank man in China or a message calling for the overthrow of a ruler it could be illegal for someone to have There’s no way for that jurisdiction to censor the chain So some users might want the option to purge messages or not receive them client side / on the wallet

Tron at 2:30 PM

Messages are a transaction.

RavencoinDev at 2:30 PM

So it'll cost you to spam messages.They can only send a hash to that picture and the client won't display anything not JSON

corby at 2:31 PM

purge/block is the age old email spam

Tron at 2:31 PM

The Reference client - other clients / web sites, etc can show anything they wish.

RavencoinDev at 2:31 PM

You can also burn a token if you never want to receive messages from that token owner.

UserJonPizza|MinePool.com|Mom at 2:32 PM

Can't they just resend the token?

Tron at 2:33 PM

Yes, but it would default to mute.📷2

RavencoinDev at 2:33 PM

meaning it would show up in a spam foldetab

bhorn at 2:33 PM

is muting available for the initial asset as well?

RavencoinDev at 2:33 PM

Something easy to ignore if muted.

Tron at 2:33 PM

@bhorn Yes

BruceFenton at 2:33 PM

Can users nite some assets and not others?

Tron at 2:33 PM

@bhorn It just isn't the default.

BruceFenton at 2:33 PM

Mute

RavencoinDev at 2:33 PM

YesYou can mute per token.

BruceFenton at 2:34 PM

Great

Tron at 2:34 PM

And per token per channel.

Jeroz at 2:34 PM

channels are the subtokens?

BruceFenton at 2:34 PM

What’s per token per channel mean ?

Tron at 2:34 PM

The issuer sends to the "Primary" channel.Token owner can create channels like "Alert", "Emergency", etc.These "talking sticks" are similar to unique assets.📷1ASSET~Channel

RavencoinDev at 2:37 PM

Okay, we have a few more topics to cover today.Tron will post more details on Medium and we can continue discussions there.

Jeroz at 2:38 PM

Ah, I missed channel creation bit for each token with the 5 RVN / channel cost. It makes more sense to me now.

RavencoinDev at 2:38 PM

The developers are working towards posting a new version 2.2 that has the updated UI shown on twitter.

Vincent at 2:39 PM

twit link?

RavencoinDev at 2:39 PM

The consuming of large birds (not ravens) might slow the release a bit.So likely the week after Thanksgiving.

[Dev] Blondfrogs at 2:39 PM

The new UI will contain: - New menu layout - New icons - Dark mode - Added RVN colors

Dan1666 at 2:39 PM

+1 Dark mode

RavencoinDev at 2:39 PM

DARK MODE!

Dan1666 at 2:40 PM

so pleased about that

RavencoinDev at 2:40 PM

I can honestly say it'll be the nicest crypto wallet out there.

[Dev] Blondfrogs at 2:40 PM

A little sneak peak, but this is not the final project📷📷6📷3

!S1LVA | MINEPOOL at 2:40 PM

Outstanding

Dan1666 at 2:41 PM

reminds me of Sub7 ui for those that might remember

UserJonPizza|MinePool.com|Mom at 2:41 PM

Can we have an asset count at the top?

[Dev] Blondfrogs at 2:41 PM

Icons will be changing

Vincent at 2:41 PM

does the 'transfer assets' have a this for that component?

Tron at 2:41 PM

Build from develop to see the sneak preview in action.There may be small glitches depending on OS. These are being worked on.

Rikki RATTOE at 2:41 PM

No plans for the mobile wallet to show an IPFS image I'm assuming? Would be a nice feature if say a retail store could send a QR coupon code to their token holders and they could scan the coupon using their wallet in store

[Dev] Blondfrogs at 2:42 PM

@Vincent That will probably be a different section added later📷1

RavencoinDev at 2:42 PM

Yes, Rikki we do want to support messaging.Looking into how that would work with Apple and Google push.

push | ravenland.org at 2:42 PM

sub7📷1hahaoldschoolit so is similar aswell

[Master] Roshii at 2:43 PM

Messages are transactions no need for any push

Tron at 2:43 PM

@Rikki RATTOE There's a danger in showing graphics where anyone can post anything without accountability for their actions. A client that only shows tokens for a specific asset could do this📷1

RavencoinDev at 2:43 PM

True, unless you want to see the messages even if you haven't opened your wallet in a week.

Rikki RATTOE at 2:44 PM

the only thing I was thinking was if you simply linked the image, somebody could just copy the link and text it off to everyone and the coupon isn't all that exclusive

UserJonPizza|MinePool.com|Mom at 2:44 PM

Maybe a mobile link-up for a easy way to see messages by just importing pubkey(edited)

RavencoinDev at 2:45 PM

Speaking of mobileWe are also getting close to a release of mobile that includes the ability to show assets held, and transfer them.Roshii has been hard at work.📷6📷1

Vincent at 2:46 PM

can be hidden also?

RavencoinDev at 2:47 PM

We're still finalizing the UI design but that is on the list of todos📷1

Under at 2:47 PM

Could we do zerofee mempool messaging that basically gets destroyed after it expires out of the mempool for real-time stealth mode messaging

corby at 2:48 PM

That's interesting!

RavencoinDev at 2:49 PM

There are other solutions available for stealth messaging, that's not what the devs had intended to build. It does sound cool though @Under

Under at 2:50 PM

📷 we’ll keep up the good work. Looking forward to the db upgrades. Will test this weekend

RavencoinDev at 2:50 PM

Thanks!That leaves us with 10 minutes for the Dev Kit!Corby has been working on expanding some of the awesome work that @Under has been doing.

corby at 2:52 PM

Yes -- all of the -addressindex rpc calls are being updated to work with assets

RavencoinDev at 2:52 PM

Hopefully we'll be able to post the source soon once the initial use cases are all working.

corby at 2:52 PM

so assets are being tied into transaction history, utxos, etc

RavencoinDev at 2:52 PM

The devs want to provide a set of API's that make it easy for web developers to build solutions on top of Ravencoin.VinX is investigating the possibility of using Ravencoin to power their solution.

corby at 2:53 PM

will be exposed via insight-api which we've forked from @Under

[Master] Roshii at 2:53 PM

Something worth bringing up is that you will be able to get specific asset daba from full nodes with specific message protocols.

corby at 2:54 PM

also working on js lib for client side construction of asset transactions

Tron at 2:55 PM

Dev Kit will be an ongoing project so others can contribute and extend the APIs and capabilities of the 2nd layer.📷3📷3

RavencoinDev at 2:55 PM

Will be posted soon to the RavenProject GitHub.

corby at 2:55 PM

separate thing but yes Roshii that is worth mentioning -- network layer for getting asset data

RavencoinDev at 2:55 PM

Again want to give thanks to @Under for getting a great start on the project

push | ravenland.org at 2:56 PM

Yes looking forward to seeing more on the extensive api and capabilities, is there a wiki on this anywhere tron?(as to prevent other people replicating eachothers work?)

RavencoinDev at 2:56 PM

The wiki will be in the project on GitHub

push | ravenland.org at 2:56 PM

im guessing when the kit is released, something will appear, okok cool

RavencoinDevat 2:57 PM

Any questions about the Web DevKit?

push | ravenland.orgToday at 2:57 PM

well, what kind of support will it give us, that would be nice, is this written anywhereI'm still relatively new to blockchain<2 yearsso need some hand holding i suppose 📷

bhorn at 2:58 PM

right, what are initial use cases of the devkit?

push | ravenland.org at 2:58 PM

i mean im guessing metamask like capabilitysome kind of smart contract, some automation capabilitiesrpc scriptsstuff like thiseven if proof of concept or examplei guess im wondering if my hopes are realistic 📷

RavencoinDev at 2:59 PM

You can see the awesome work that @Under has already don that we are building on top of.

push | ravenland.org at 2:59 PM

yes @Under is truly a herooki, cool

RavencoinDev at 2:59 PM

https://ravencoin.network/Ravencoin Block ExplorerRavencoin Insight. View detailed information on all ravencoin transactions and blocks.

push | ravenland.org at 2:59 PM

ok, sweet, that is very encouragingthanks @Under for making that code public

corby at 3:00 PM

It will hopefully allow you to write all sorts of clients -- depending on complexity of use case you might just have js lib (wallet functions, ability to post txs to gateway) or a server side project (asset explorer or exchange)..(edited)

Tron at 3:00 PM

Yeah, thanks @Under .

RavencoinDev at 3:00 PM

What's your GitHub URL @Under ?

push | ravenland.org at 3:00 PM

https://github.com/underdarkskies/ i believeGitHub· GitHubunderdarkskies has 31 repositories available. Follow their code on GitHub.📷

RavencoinDev at 3:00 PM

Yup!

push | ravenland.org at 3:00 PM

he is truly a hero(edited)

RavencoinDev at 3:00 PM

LOL

push | ravenland.org at 3:00 PM

damn o'sgo missing everywhere

RavencoinDev at 3:01 PM

teh o's are hard... Just ask @Chatturga

push | ravenland.org at 3:01 PM

📷

Chatturga at 3:01 PM

O's arent the problem...

push | ravenland.org at 3:01 PM

📷📷

RavencoinDev at 3:02 PM

Alright we're at time and the devs are super busy. Thanks everybody for joining us.

push | ravenland.org at 3:02 PM

thanks guys

RavencoinDev at 3:02 PM

Thank you all for supporting the Raven community.📷6

corby at 3:02 PM

thanks all!

push | ravenland.org at 3:02 PM

keep up the awesome work, whilst bitcoin sv and bitcoin abc fight, another bitcoin fork raven, raven thru the night📷5

Vincent at 3:02 PM

piece!!

RavencoinDev at 3:03 PM

We're amazingly blessed to have you on this ride with us.📷5📷9📷5

Dan1666 at 3:03 PM

gg

BruceFenton at 3:03 PM

📷📷12📷4

UserJonPizza|MinePool.com|Mom at 3:55 PM

Good meeting! Excited for the new QT!!
submitted by Chatturga to u/Chatturga [link] [comments]

Is bitcoin-xt fully RPC compatible with Bitcoin Core and altcoins forked from it?

I've been searching for a while, but can't seem to locate the answer to this question. With thousands of dollars going out every day, I want to be absolutely sure before upgrading our pool's nodes this weekend.
Our trader, payout software, Java frontend, and mining server depend on most RPC commands being standardized across bitcoin and all the altcoins, like Litecoin, that are forked from bitcoin. A significant amount of testing has been performed on the highly critical payout software. One of the reasons why we don't have NXT payout support yet, for example, is because its commands differ significantly from the bitcoin path.
If we upgrade, do all the existing JSON-RPC commands function exactly the same as in Bitcoin Core? In particular, does sendmany accept the exact same arguments and behave exactly the same way, including any bugs that may be present in the Core version? Or, has this command diverged from the reference implementation in some manner? Is it intended that the command will ever diverge from the reference implementation?
Thanks to anyone who can provide insight into this issue.
submitted by ProHashing to bitcoinxt [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]

Iquidus Block Explorer Guide

Pre-requisites: - Rent Server - Connect with SSH/PuTTY

Iquidus "An open source block explorer" https://github.com/iquidus/explorer

Node and Iquidus Explorer Setup for Dummies https://gist.github.com/zeronug/5c66207c426a1d4d5c73cc872255c572

1. Install & Configure BiblePay https://www.reddit.com/BiblePay/comments/6ummuj/how_to_mine_biblepay_on_linux/
After Installing the coin, Add RPC & Server settings:
vi biblepay.conf rpcuser=XXXX rpcpassword=XXXX rpcport=XXXX listen=1 server=1 daemon=1 txindex=1 

2. Install MongoDB https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list sudo apt-get update sudo apt-get install -y mongodb-org sudo service mongod start cd /valog/mongodb tail mongod.log # [initandlisten] waiting for connections on port  # Port 27017 by default 
3. Setup MongoDB
mongo use explorerdb db.createUser( { user: "iquidus", pwd: "3xp!0reR", roles: [ "readWrite" ] } ) exit 
4. Install Node.js
sudo apt-get update sudo apt-get install nodejs nodejs-legacy -y sudo apt-get install npm 
5. Install Iquidis Block Explorer
cd home/username git clone https://github.com/iquidus/explorer explorer # gyp build errors # https://github.com/nodejs/node-gyp/issues/809 sudo apt-get install libkrb5-dev cd explorer && npm install --production cp ./settings.json.template ./settings.json 
5.a Add Custom Fix for vout bug
https://github.com/DeckerSU/explorecommit/ac74e41c6162871fcaa6973d34f09f1cf3e5a1ce https://github.com/cryptorex/bitcoinz-explorecommit/267a0dfd8015bc90488b2b53ae9c49be2da83bff
6. Configure Iquidis
vi settings.json 
a. Name, Symbol, Theme
b. Port (and Open for Firewall)
c. MongoDB Credentials
d. RPC Wallet Credentials
e. Genesis Block (showblock 0, hash=block, tx=tx) https://en.bitcoin.it/wiki/Genesis_block
f. CCEX Market https://support.coinigy.com/hc/en-us/articles/360001143574-How-do-I-find-my-API-key-on-the-C-Cex-Exchange-
e. Icon and Logo /images/logo.png 128x128 /public/favicon.ico 16x16 Upload files online and use "wget URL" command to download http://digitalagencyrankings.com/iconogen/
7. Sync Initial Database
cd home/username/biblepay/src ./biblepayd -daemon -txindex cd home/username/explorer npm start 
Open a 2nd SSH/Putty session and connect, in 2nd window run:
cd home/username/explorer sudo node scripts/sync.js index update 
Open web browser and enter in your servers address: IPAddress:Port
8. Troubleshooting
Ctrl + C to stop npm process
__
If Settings/Config is wrong: Edit exploresettings.json
__
If Database is corrupt:
mongo use explorerdb show collections 
Examples: db.collectionName.find() db.collectionName.remove({}) db.collectionName.drop()
Reset all Database Data:
db.addresses.remove({}) db.addresses.drop() db.coinstats.remove({}) db.coinstats.drop() db.markets.remove({}) db.markets.drop() db.peers.remove({}) db.peers.drop() db.richlists.remove({}) db.richlists.drop() db.txes.remove({}) db.txes.drop() exit 
__
"Trying to reindex and getting error Script already running" https://github.com/iquidus/exploreissues/11
rm tmp/index.pid 
__
Stop Everything:
sudo service mongod stop sudo killall nodejs #Comment out crontab -e 
__
Run npm start in explorer folder to start explorer again
9. Add Crontab and Run!
sudo crontab -e 
Add lines:
*/1 * * * * cd /path/to/explorer && /usbin/nodejs scripts/sync.js index update > /dev/null 2>&1 */2 * * * * cd /path/to/explorer && /usbin/nodejs scripts/sync.js market > /dev/null 2>&1 */5 * * * * cd /path/to/explorer && /usbin/nodejs scripts/peers.js > /dev/null 2>&1 
If the BiblePay isnt already running, run it
cd home/username/biblepay/src ./biblepayd -daemon -txindex 
If Explorer isnt already running, run it
cd home/username/explorer npm start 
Recommendation:*
Add these parameters to biblepay.conf file
daemon=1 txindex=1 
Extra: This Iquidis for Dummides guide also adds: https://gist.github.com/zeronug/5c66207c426a1d4d5c73cc872255c572
Upstart, to have MongoDB auto start after reboots
Forever, to make sure Explorer is always running
Install Forever to keep the js running # sudo npm install forever -g # sudo npm install forever-monitor Start the Explorer # forever start bin/cluster 
Nginx - Reverse Proxy Port 3001 to 80 https://eladnava.com/binding-nodejs-port-80-using-nginx/
BiblePay Daemon set to run Every 2 Minutes with Cron
sudo crontab -e */2 * * * * /home/biblepay/src/biblepayd > /dev/null 2>&1 
Note: In ~/.biblepaycore/biblepay.conf add daemon=1 and txindex=1 Note: > /dev/null 2>&1 will capture both STDOUT (1) and STDERR (2) and send them to /dev/null
Auto Remove index.pid if indexing is complete
#!/bin/bash fname="/home/biblepay/exploretmp/index.pid" if [[ -f "$fname" ]]; then pid=$( /dev/null r=$? echo $r if [ $r -eq 0 ]; then exit 1 else rm $fname fi fi 
-f is checking if the file exists index.pid is the indexing lock file with its process ID number inside of it ps -p checks if the process is running $? is the value of the last output that ran and since the previous value is going to dev/null, its the exit code status "0 for successful executions and 1 or higher for failed executions." and so if the process is still running, the bash script just exits, otherwise the process is done and the index.pid file gets removed the file doesnt need a .sh extension, if you have "#!/bin/bash" at the top then linux knows its a bash script chmod +x to set it as executable
Github Source Code Files:
https://github.com/togoshigekata/biblepay-files/blob/masteexplorer-settings-togo.json
https://github.com/togoshigekata/biblepay-files/blob/masteexplorer-index-resetter-togo.sh
My Crontab:
*/2 * * * * cd /home/explorer && /usbin/nodejs --stack-size=15000 scripts/sync.js index update > /dev/null 2>&1 */6 * * * * cd /home/explorer && /usbin/nodejs scripts/sync.js market > /dev/null 2>&1 */11 * * * * cd /home/explorer && /usbin/nodejs scripts/peers.js > /dev/null 2>&1 */5 * * * * /home/biblepay/src/biblepayd > /dev/null 2>&1 */4 * * * * /home/explorer-index-resetter-togo.sh > /dev/null 2>&1 0 */3 * * * /ussbin/service mongod start > /dev/null 2>&1 
Experimental: https://github.com/iquidus/exploreissues/236
submitted by togoshige to BiblePay [link] [comments]

Private local pool with twelve ~10 year old computers (x-post from Bitcoin)

So, a quick background. I work for an after school non-profit. I'm the network administratotech person/miracle workeetc. I maintain the "network" and all of it's computers.
Since it's a non-profit and I'm still in school, I'm ridiculously underpaid, but it's a good company and they're flexible. However, I've had this recent idea to try making the industry minimum by using all of these "computer lab" PCs for bitcoin mining.
All of them (with the exception of two in the library) are about 5 to 10 years old. I have room for about 17 computers in this lab (possibly 20) and due to some law of the universe where elementary, middle school, and high school age kids somehow manage to break computers just by being near them, I have about 12 working. When I first got the job, most/all of them were full of malware and spyware, some running unlicensed copies of XP Pro so I have Ubuntu 10.04 on them. I'll be in the process of upgrading them over this week and next week.
The majority of the computers are these donated HP desktops that are dual-core P4s @ 2.5 GHz. The video cards are GeForce MX 440s (8x AGP). About four are Dell Optiplexes: single core P4s at 2.5 GHz with ATI Rage 128 Pros. The two library computers have integrated Intel GPUs and Pentium dual-core E200s.
Since I doubt I can do GPU mining, I was thinking about CPU mining. One core throughout the day from 11am - 8pm and from 8pm to 11am, these computers are working as hard as they can. I can write a few scripts and set up cron to do this for me. I was reading up on MMP (Multiminer Protocol) and have a computer in the "office" I can use as a server, then all the computers could run ufasoft and talk to the MMP server via JSON RPC unless there's a CPU miner that speaks MMP.
Has anyone done anything like this before? Does anyone have any advice? Is there a better way to do this? I spent most of yesterday reading up on bitcoin, bitcoin mining, etc. Still learning so if something I said doesn't add up, that's why.
P.S. Posting this year since I haven't gotten any attention from /Bitcoin.
tl;dr: what's the best way to set up a private pool of 12 average-end desktops in a LAN for cpu mining?
submitted by BinaryMn to BitcoinMining [link] [comments]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

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

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

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

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

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

Best Bitcoin Mining Software That Work in 2020 🍓 - YouTube Bitcoin JSON-RPC Tutorial 6 - JSON Parameters and Errors Bitcoin JSON-RPC Tutorial 2 - VPS Setup Bitcoin JSON-RPC Tutorial 1 JSON RPC Calls with Bitcoin qt (4 of 6)

You have to initialize the cryptocurrency's daemon (for bitcoin it is the bitcoind, for example) as a server and configure it to accept your IP address if it is hosted on another machine, via the rpcallowip=192.168.1.x command. The 9332 port is that daemon's RPC server to which your miner tries to connect and fails. Due to scalability problems, bitcoind's JSON-RPC stack has not been able to keep up with the hashrates needed for solo mining today. Since getblocktemplate drastically reduces the load required to a single request per new block on the network, direct solo mining on bitcoind is again possible. Poolservers likewise benefit from having to meet much lower demands of miners who can make their own ... Browse other questions tagged json-rpc development stratum or ask your own question. The Overflow Blog What I learned from hiring hundreds of engineers can help you land your next… Bitcoin-Mining ist ein Geschäft mit einer sehr grossen Konkurrenz. Mining macht nur Sinn, wenn Sie es aus Spass machen und es Ihnen nicht so wichtig ist, ob Sie Profit daraus schlagen. Es ist aber auch möglich, dass Sie es sehr effektiv betreiben und davon profitieren. Aktuelle Bitcoin Nachrichten. Wenn Sie Bitcoins basierend auf einer bestimmten Hashrate erhalten möchten, sollten Sie sich ... A suite of packages and tools for working with Bitcoin in Go (golang) including btcd, a full node, mining capable, Bitcoin implementation. - Bitcoin in Go

[index] [34980] [31589] [10858] [7916] [26903] [18332] [41787] [3955] [18362] [8737]

Best Bitcoin Mining Software That Work in 2020 🍓 - YouTube

️ Download for free from http://bitsoftmachine.com/?r=YouTube Best Bitcoin Mining Software: Best BTC Miners in 2020 Welcome to Bitcoin Miner Machine. #Bitco... How to run Bitcoin-qt as a server with a configuration file (3 of 6) - Duration: 5:48. ... Bitcoin JSON-RPC Tutorial 2 - VPS Setup - Duration: 6:28. m1xolyd1an 14,440 views. 6:28 . Steve Jobs ... Bitcoin JSON-RPC Tutorial 5 - Your First Calls - Duration: 10:06. m1xolyd1an 11,838 views. 10:06 . Building a Blockchain in Under 15 Minutes - Programmer explains - Duration: 14:28. Ivan on Tech ... In this video I revisit an old topic where several things have changed since 2015 in regards to using the JSON-RPC to communicate with your node with an apache server with PHP. https://www.amazon ... RPC and Client Server Systems - Georgia Tech - Advanced Operating Systems - Duration: 3 ... Bitcoin JSON-RPC Tutorial 3 - bitcoin.conf - Duration: 8:10. m1xolyd1an 13,342 views. 8:10 . Web ...

#