Proper Money Handling (JSON-RPC) - Bitcoin Wiki

RiB Newsletter #14 – Are We Smart (Contract) Yet?

We’re seeing a bunch of interesting Rust blockchain and crypto projects, so this month the “Interesting Things” section is loaded up with news, papers, and project links.
This month, Elrond, appeared on our radar with the launch of their mainnet. Although not written in Rust, it runs Rust smart contracts on its Arwen WASM VM, which itself is based on the Rust Wasmer VM. Along with NEAR, Nervos, and Enigma (and probably others), this continues an encouraging trend of blockchains enabling smart contracts in Rust. See the “Interesting Things” section for examples of Elrond’s Rust contracts.
Rust continues to be popular for research into zero-knowledge proofs, with Microsoft releasing Spartan, a zk-SNARK system without trusted setup.
In RiB news, we published a late one-year anniversary blog post. It has some reflection on the changes to, and growth of, RiB over the last year.
The Awesome Blockchain Rust project, which is maintained by Sun under the rust-in-blockchain GitHub org, has received a stream of updates recently, and is now published as the Awesome-RiB page on rustinblockchain.org.
It’s a pretty good resource for finding blockchain-related Rust projects, with links to many of the more prominent and mature projects noted in the RiB newsletter. It could use more eyes on it though.

Project Spotlight

Each month we like to shine a light on a notable Rust blockchain project. This month that project is…
ethers.rs
ethers.rs is an Ethereum & Celo library and wallet implementation, implemented as a port of the ethers.js library to Rust.
Ethereum client programming is usually done in JavaScript with either web3.js or ethers.js, with ethers.js being the newer of the two. These clients communicate to an Ethereum node, typically via JSON-RPC (or, when in the browser, via an “injected” client provider that follows EIP-1193, like MetaMask).
ethers.rs then provides a strongly-typed alternative for writing software that interacts with the Ethereum network.
As of now it is only suited for non-browser use cases, but if you prefer hacking in Rust to JavaScript, as some of us surely do, it is worth looking into for your next Ethereum project.
The author of ethers.rs, Georgios Konstantopoulos, accepts donations to sponsor their work.
Note that there is also a Rust alternative to web3.js, rust-web3.

Interesting Things

News

Blog Posts

Papers

Projects

Podcasts and Videos


Read more: https://rustinblockchain.org/newsletters/2020-08-05-are-we-smart-contract-yet/
submitted by Aimeedeer to rust [link] [comments]

Adding Monero support to a P2P game, need some advice

Hello everyone,
I'm currently in the process of adding Monero support to a peer-to-peer game I've been working on and would like to ask this community for some advice.
The application has a few hard requirements that must be met:
  1. The Monero integration must be done using JavaScript (primarily for Node but browser's okay too).
  2. The application must be able to create addresses and accompanying private keys internally (no CLI or external API). Preferably, these should be derived addresses using a master or main one (like HD wallets in Bitcoin).
  3. The application must be able to generate raw transactions internally -- no CLI or or external API. For this part let's assume that the input UTXOs are going to be available somehow (from a database, for example).
  4. The application must be able to sign raw transactions internally -- no CLI or or external API.
When I say "no CLI", I mean no RPC wallet or daemon; no external API calls either.
Essentially, I should be able to do the above offline, using JavaScript only, and then just post the signed transactions later (this part can be done via CLI or API). These are core requirements for the project otherwise I'd just use RPC or a service and save myself a lot of work.
So my question is: is there a documented JavaScript library that supports all of the above functionality?
I found a project called mymonero-core-js which appears to do what I'd need, but there doesn't seem to be any accompanying documentation (the included unit tests don't offer much information). Does this documentation exist?
There's also an offline wallet generator but it's also undocumented and kinda unwieldy (one huge file).
The game (my project), already supports Bitcoin and Bitcoin Cash using these constraints, and I've done fairly extensive work with Ethereum, smart contracts, and crypto in general (not just cryptocurrencies, I mean), so I shouldn't need much hand-holding.
Thanks muchly in advance!
P.S. It's not my intention to advertise my project so I haven't posted a link but I'll be happy to share if anyone asks.
submitted by monican_agent to Monero [link] [comments]

New Ethereum Developer Course

Hey All! We've been working heads down on a new developer curriculum for the last year. We're excited to announce it's finally here.
This curriculum is composed primarily of in-browser coding tutorials and challenges (no need to install any dependencies!). It also includes videos and guides which will help you apply what you learned in your local development environment when you're done with the course.
The full course includes:
Learning JavaScript: A collection of JavaScript coding tutorials and challenges which thoroughly teach JS from scratch with the latest ECMAScript features. Networking: Writing Asynchronous Code and communicating with servers through APIs Data Structures: Building and understanding data structures that are important to blockchain programming (especially trees and linked lists) Blockchain: Understanding Bitcoin, Proof-Of-Work, Digital Signatures and building core blockchain data structures. As well as learning about Ethereum, the EVM, ethers.js, and the Ethereum Node JSON-RPC API. Smart Contracts: Our largest section! This includes 21 coding tutorials and challenges thoroughly teaching the latest Solidity version 0.6.x from the very basics. Decentralized Applications: Deploy Smart Contracts and interact with them through ethers.js. You'll have three new working decentralized applications at the end of this section which you'll be able to extend upon to build bigger projects!
You can find the full listing here: https://www.chainshot.com/curriculum
The course is available through a monthly subscription. We'll also be starting live coding classes next month for all subscribers!
We hope you'll choose to learn with us. Let us know if you have any questions/concerns. All feedback is welcome. :)
submitted by dan-nolan to ethdev [link] [comments]

A giant Faucet for HTML5 Canvas JavaScript


An example of a pseudo 3d effect using rectangle particles as water droplets
This is a giant Faucet for HTML5 Canvas JavaScript. With a mouse click the faucet will turn on and water particles will start pouring out until it is closed again. When it hits some vertical offset, the water will dissipate outwards with each particle getting slightly bigger as a front perspective view for a pseudo-3d effect. Particle clean-up/removal occurs when reaching the bottom canvas border to keep things running smoothly. Little mists near the spout hole are generated with random vx and vy velocity, with text indication on each side as on/off along with sound effects. The faucet image was modified using Adobe Photoshop.
A use case scenario would be a literal tongue-in-cheek faucet for said crypto-currency. The way you would dispense a set number of coins would require running a server with a full active node in Linux. Then by using a backend script such as a modified variation of bitcoinPHP, python, or nodeJS can be used to validate a user's wallet address by which a set amount can be safely sent with integrated SSL (secure socket layer) protocols via Remote Procedure Calls or RPCs. It's another fun way of 'spicing' up these kinds of projects, if that's your thing.
submitted by Chancellor-Parks to html5 [link] [comments]

Monthly Nano News: December 2019 + Year Recap Special

This is what NANO has been up to lately. I don't think I lie if I say it has been quite an amazing year!
See you soon and happy new year! Something nice is coming soon that I have been working on for a while, stay tuned..

December 2019

November 2019

October 2019

September 2019

August 2019

July 2019

June 2019

May 2019

Apr 2019

Mar 2019

Feb 2019

Jan 2019


More news here: https://nanolinks.info/news

https://preview.redd.it/9sw5nkoxlt741.png?width=749&format=png&auto=webp&s=3426d4eafb9430c0304a6d161596102536df4318
submitted by Joohansson to nanocurrency [link] [comments]

Could not connect to Bitcoin Core using JSON-RPC error message when launching Eclair

Hi! I am new to the Lightning Network and I am seeking to install a Lighting Network full node on my PC.

I already have Bitcoin Core installed and my full bitcoin node working (version 0.17.1).

I went through some steps to install the LN full node on a video on YouTube, following instructions from a Medium post: "How to run a Lightning Network node on Windows" (https://medium.com/coinmonks/guide-setup-a-lightning-network-node-on-windows-8475206807f).

I installed Eclair (v0.2-beta9) from their Github page.

But when I try to launch Eclair (with my Bitcoin Core node up and running), an error message pops us, saying:
Could not connect to Bitcoin Core using JSON-RPC.
Make sure that Bitcoin Core is up and running and RPC parameters are correct.

Here is what I have in my Bitcoin Core .conf file:

testnet=0
server=1
rpcuser=foo
rpcpassword=bar
txindex=1
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29000
addresstype=p2sh-segwit
deprecatedrpc=signrawtransaction

And in my eclair.conf file:

eclair.chain=mainnet
eclair.bitcoind.rpcport=8332
eclair.bitcoind.rpcuser=foo
eclair.bitcoind.rpcpassword=bar
eclair.node-alias=”myalias”
eclair.node-color=ff9900

By the way, I went through an old thread on the same topic (https://www.reddit.com/lightningnetwork/comments/7rlk1e/could_not_connect_to_bitcoind_using_jsonrpc_any/), but the solutions proposed did not work for me.

Your help would be greatly appreciated :-) Thanks!
submitted by swisscrypto77 to lightningnetwork [link] [comments]

How to verify a signed message in bitcoinj?

Link to bitcoin stack exchange: https://bitcoin.stackexchange.com/questions/92406/how-to-verify-a-signed-message-in-bitcoinj

I want to verify, in Java, a signature produced with bitcoin core's signmessagewithprivkey (equivalent to the verifymessage). I noticed a bitcoinj method similar to the bitcoin core's verifymessage - org.bitcoinj.core.ECKey.verify. What follows is my implementation attempt and its test.
For testing I will generate a signature and check it in bitcoin core:
>bitcoin-cli signmessagewithprivkey $(bitcoin-cli dumpprivkey 1CwKH9PQPkFPjQagEv483FUM5ngk57L3Pp) "" H2wp/+5N2+OQwP6a5GFRbt8S+EfML1Szx4uhWPfiO0e/QcY2rZQOkLOR+unknNl4NgDWBacRRXOLjr+m53V0xic= > bitcoin-cli verifymessage "1CwKH9PQPkFPjQagEv483FUM5ngk57L3Pp" "H2wp/+5N2+OQwP6a5GFRbt8S+EfML1Szx4uhWPfiO0e/QcY2rZQOkLOR+unknNl4NgDWBacRRXOLjr+m53V0xic=" "" true 
So, signing an empty message with the RPC using the address 1CwKH9PQPkFPjQagEv483FUM5ngk57L3Pp (public key: 021c3be5fb7820c56d881ea2d02a906d87540ec8888bbe819b7abd2e39f6f6e512), produces the signature H2wp/+5N2+OQwP6a5GFRbt8S+EfML1Szx4uhWPfiO0e/QcY2rZQOkLOR+unknNl4NgDWBacRRXOLjr+m53V0xic=.
My Java implementation attempt:
import org.apache.commons.codec.binary.Hex; import org.bitcoinj.core.ECKey; import org.bitcoinj.core.Sha256Hash; import java.math.BigInteger; import java.util.Base64; public class Notebook { public static BigInteger[] ParseSig(byte[] sigBytes, int sigOff) { BigInteger r = new BigInteger( 1 ,sigBytes, sigOff, 32); BigInteger s = new BigInteger( 1, sigBytes, sigOff + 32, 32); return new BigInteger[] { r, s }; } public static void main(String[] args) throws Exception{ // Signature String signatureString = "H2wp/+5N2+OQwP6a5GFRbt8S+EfML1Szx4uhWPfiO0e/QcY2rZQOkLOR+unknNl4NgDWBacRRXOLjr+m53V0xic="; byte[] signatureBytes = Base64.getDecoder().decode(signatureString); BigInteger[] signatureRandS = ParseSig(signatureBytes, 1); ECKey.ECDSASignature signature = new ECKey.ECDSASignature(signatureRandS[0], signatureRandS[1]); // Public key String pubKeyString = "021c3be5fb7820c56d881ea2d02a906d87540ec8888bbe819b7abd2e39f6f6e512"; byte[] decodedPubKeyString = Hex.decodeHex(pubKeyString.toCharArray()); ECKey publicKey = ECKey.fromPublicOnly(decodedPubKeyString); // Message String message = "Bitcoin Signed Message:\n"; Sha256Hash messageHash = Sha256Hash.of(message.getBytes()); Sha256Hash messageDoubleHash = Sha256Hash.of(messageHash.getBytes()); // Test boolean result = publicKey.verify(messageDoubleHash, signature); System.out.println("Result: " + result); } } 
Notice that I used the salt Bitcoin Signed Message:\n before hashing the message - this is done by signmessagewithprivkey as shown here and here. The problem is the above implementation doesn't pass my test and I don't know why...
submitted by johnturtle to BitcoinBeginners [link] [comments]

Achain Galaxy Monthly Update | March 1–31, 2020

Achain Galaxy Monthly Update | March 1–31, 2020

Achain Monthly Report

Core Development:

1. Achain 2.0 Development Progress

  • Added the “nobid” effective mechanism. The Achain network can optionally specify account names that meet the rules when creating accounts.
  • Adjusted the contract test project to adapt to the new modification and it’s 20% complete.
  • Modified the in-progress flag when the peer connection is closed.
  • Added exception handling when facilitating the handshake messages to enhance code robustness.
  • Created the “Achain-exchange” project folder and added exchange docking documents.
  • Completed Achain 2.0 offline signature java version SDK and address a generation demo.
  • Completed Achain 2.0 RPC related serialization and deserialization java version SDK.
  • Studied the basic concepts and implementation details of the hot stuff consensus algorithm.
2. Achain 2.0 browser and peripheral development progress
  • Achain 2.0 Wallet, Windows version 2.0 (Chinese), is being developed, tested, and 40% completed.
  • Achain 2.0 Wallet Mac version 2.0 (Chinese), is being developed, tested, and 40% completed.
  • Achain 2.0 Wallet, Windows version 2.0 (English), is being developed and 60% completed.
  • Achain 2.0 Wallet, Mac version 2.0 (English), is being developed and 60% completed.

Community Management:

  • The first AMA event of the Achain Galaxy in 2020 was successfully held in the English telegram group on March 18. The founder Cui Meng responded to the questions raised by the overseas users about project technology, community, market, ecosystem. He also elaborated and prospected the future development of Achain Galaxy. To read the AMA please visit: https://medium.com/@AchainOfficial/achain-talks-ep06-a7b4a0376a9f
  • Achain founder Cui Meng revealed in AMA that the recently launched ATT project on Bithumb Global will soon become another important member of the Achain Galaxy and the first European project in the Achain Galaxy. Details will be announced.
  • ATT is a top-ranking project that offers decentralized information and communication protocols. ATT, a reserve member of the Achain Galaxy, was reported by well-known domestic blockchain media outlets: Golden Finance, Bihu, and Mars Finance. The article titles include, “Does this protocol direct the future?” “How blockchain + social network will perform in the arena of data interests? ATT Provides New Solutions. A Quick Understanding of the ATT Decentralized Information and Communication Protocol”. The articles discuss the future development direction of decentralized information and communication protocols.
  • The well-known foreign blockchain media Coinspeaker and Blockmanity released the news “ATT decentralized information communication protocol” “In the Arena of Data Interests, How Will Blockchain + Social Perform? ATT Offers a New Solution”. The article affirms the potential of ATT, a member of the Achain Galaxy.
  • The well-known exchange Bithumb Global and ATT, a reserve member of the Achain Galaxy, commenced large-scale publicity in South Korea for the ATT launch and excitement quickly escalated.
  • The Achain community congratulates Galaxy member ATT which launched on Bithumb Global, the world’s largest exchange. The ATT listing on Bithumb Global shows the mainstream market’s recognition of ATT, a member of the Achain Galaxy, which has greatly promoted the growth and development of the Achain Galaxy.
  • Alliance, a well-known Korean blockchain investment institution, is very optimistic about the future direction of ATT, a member of the Achain Galaxy. Achain has signed a strategic cooperation with ATT which gives strong funding support and will localize ATT within the Korean community and support comprehensive Korean public activities.
  • Achain member Eminer prepares for the upcoming Bitcoin halving which coincides with the wet weather season which lowers the electricity price from May. Eminer contacted the authorities in preparation for the anticipated water supply and is ready to leverage the wet season to strengthen their business.
  • Achain labs will work with SlowMist Technology to conduct a security audit of the core code of the Achain 2.0 mainnet to ensure its security and each of use.
  • The improvement of the Achain 2.0 contract system will allow global developers to contribute base code on the 2.0 mainnet to develop products that will compete with popular DeFi products such as Uniswap and compound protocols. Achain Capital will also focus on this area and priority investments will be available to develop solutions.
  • Achain Galaxy team selected 4 best user questions in the AMA and distributed rewards. We appreciate users that consistently provide support. For details please visit: https://twitter.com/AchainOfficial/status/1240637571677310976
submitted by yimo1985 to Achain_Official [link] [comments]

⚡ Lightning Network Megathread ⚡

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

⚡What is the Lightning Network? ⚡

Explanations:

Image Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

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

Lightning Network Experts on Twitter

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

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallets

Place a testnet transaction

Altcoin Trading using Lightning

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

Lightning on Mainnet

Warning - Testing should be done on Testnet

Atomic Swaps

Developer Documentation and Resources

Lightning implementations

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

Libraries

Lightning Network Visualizers/Explorers

Testnet

Mainnet

Payment Processors

  • BTCPay - Next stable version will include Lightning Network

Community

Slack

IRC

Slack Channel

Discord Channel

Miscellaneous

⚡ Lightning FAQs ⚡

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

Unanswered Questions

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

Special Thanks and Notes

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

[FOR HIRE] Python Software Engineer — 12 years of experience

Looking for a job: CTO, Team Lead, Developer. 12 years of professional experience in software development. Python, JavaScript. Available for remote work and relocation.
Experienced in planning the development of new projects, working on the architecture, preparing the requirements, writing specifications, and leading teams. I enjoy teaching people to code and doing code review. I ask other developers to write code of high quality and refactor it so the code is simple and readable.
Worked on 20 complex projects for companies from 5 countries, including an adaptive online learning platform for Bloomberg and The Economist used by students around the world for exam preparation.
I have experience with caching, task queues, unit tests, image processing, encoding, API, parsing, multithreaded and asynchronous applications.
When working on a project, I write detailed documentation that helps any new developers to quickly join the project.
[email protected]
submitted by aruseni to RemoteJobs [link] [comments]

[FOR HIRE] Python Software Engineer — 12 years of experience

Looking for a job: CTO, Team Lead, Developer. 12 years of professional experience in software development. Python, JavaScript. Available for remote work and relocation.
Experienced in planning the development of new projects, working on the architecture, preparing the requirements, writing specifications, and leading teams. I enjoy teaching people to code and doing code review. I ask other developers to write code of high quality and refactor it so the code is simple and readable.
Worked on 20 complex projects for companies from 5 countries, including an adaptive online learning platform for Bloomberg and The Economist used by students around the world for exam preparation.
I have experience with caching, task queues, unit tests, image processing, encoding, API, parsing, multithreaded and asynchronous applications.
When working on a project, I write detailed documentation that helps any new developers to quickly join the project.
[email protected]
submitted by aruseni to Jobs4Bitcoins [link] [comments]

Dosen't inizialize propriety inside the class with the constructor compiling error

Hello guys,
I'm a java programmer and I'm studying C++ with my personal project I want to create a Singleton pattern that contains the proprieties, but when go to initialize the propriety inside the private constructor no-arg I have a compiling error with, it is this
[ 5%] Building CXX object CMakeFiles/SpyCBlockRPC.dicommands/DecodeScriptCommand.cpp.o [ 11%] Building CXX object CMakeFiles/SpyCBlockRPC.diClientBitcoinSingleton.cpp.o /home/vincenzo/Github/SpyCBlockRPC/ClientBitcoinSingleton.cpp: In constructor ‘spyCBlockRPC::ClientBitcoinSingleton::ClientBitcoinSingleton()’: /home/vincenzo/Github/SpyCBlockRPC/ClientBitcoinSingleton.cpp:9:62: error: no matching function for call to ‘BitcoinAPI::BitcoinAPI()’ spyCBlockRPC::ClientBitcoinSingleton::ClientBitcoinSingleton() ^ In file included from /home/vincenzo/Github/SpyCBlockRPC/ClientBitcoinSingleton.h:7:0, from /home/vincenzo/Github/SpyCBlockRPC/ClientBitcoinSingleton.cpp:3: /uslocal/include/bitcoinapi/bitcoinapi.h:28:5: note: candidate: BitcoinAPI::BitcoinAPI(const string&, const string&, const string&, int, int) BitcoinAPI(const std::string& user, const std::string& password, const std::string& host, int port, int httpTimeout = 50000); ^~~~~~~~~~ /uslocal/include/bitcoinapi/bitcoinapi.h:28:5: note: candidate expects 5 arguments, 0 provided /uslocal/include/bitcoinapi/bitcoinapi.h:19:7: note: candidate: constexpr BitcoinAPI::BitcoinAPI(const BitcoinAPI&) class BitcoinAPI ^~~~~~~~~~ /uslocal/include/bitcoinapi/bitcoinapi.h:19:7: note: candidate expects 1 argument, 0 provided 
This is my file ClientBitcoinSingleton.h

namespace spyCBlockRPC { class ClientBitcoinSingleton { public: static ClientBitcoinSingleton& getInstance() { static ClientBitcoinSingleton SINGLETON; return SINGLETON; } BitcoinAPI getBitcoinApi() const; private: ClientBitcoinSingleton(); //BitcoinAPI bitcoinApi{"", "", "", 8332}; //TODO chanhe this resolve the problem, I don't want inizialize it with this code BitcoinAPI bitcoinApi; } 
This is my file ClientBitcoinSingleton.cpp
#include  #include "ClientBitcoinSingleton.h" using namespace std; using namespace cppproperties; using namespace spyCBlockRPC; spyCBlockRPC::ClientBitcoinSingleton::ClientBitcoinSingleton() { string user =""; string pass = ""; string ip =""; int port = 8080; this->dirLogTest = config.GetProperty(DIR_LOG_TEST); this->dirDatatest = config.GetProperty(DIR_DATA_TEST); bitcoinApi = BitcoinAPI{user, pass, ip, port}; } 
I'm not understanding the error, how I want to write this code with no one error?

Thanks so much for your help
submitted by crazyjoker96 to cpp_questions [link] [comments]

[FOR HIRE] Python Software Engineer — 12 years of experience

Looking for a job: CTO, Team Lead, Developer. 12 years of professional experience in software development. Python, JavaScript. Available for remote work and relocation.
Experienced in planning the development of new projects, working on the architecture, preparing the requirements, writing specifications, and leading teams. I enjoy teaching people to code and doing code review. I ask other developers to write code of high quality and refactor it so the code is simple and readable.
Worked on 20 complex projects for companies from 5 countries, including an adaptive online learning platform for Bloomberg and The Economist used by students around the world for exam preparation.
I have experience with caching, task queues, unit tests, image processing, encoding, API, parsing, multithreaded and asynchronous applications.
When working on a project, I write detailed documentation that helps any new developers to quickly join the project.
[email protected]
submitted by aruseni to jobpostings [link] [comments]

Groestlcoin September 2019 Development Release/Update!

For a more interactive view of changes, click here
In our current world; bordering on financial chaos, with tariff wars, Brexit and hyperinflation rife, you can count on Groestlcoin to consistently produce innovation that strikes to take the power away from the few and into the many, even after a full five and a half years of solid development.
Here is what the team has already announced in the last 3 months since the last development update:

What's Being Released Today?

Groestl Nodes

What am I?

Groestl Nodes aims to map out and compare the status of the Groestlcoin mainnet and testnet networks. Even though these networks share the same protocol, there is currently no way to directly compare these coins in a single location. These statistics are essential to evaluate the relative health of both networks.

Features

Source - Website

Groestlcoin Transaction Tool

What am I?

This is a tool for creating unsigned raw Groestlcoin transactions and also to verify existing transactions by entering in the transaction hex and converting this to a human-readable format to verify that a transaction is correct before it is signed.

Features

SourceDownload

Groestlcoin AGCore

What am I?

AGCore is an Android app designed to make it easier to run a Groestlcoin Core node on always-on Android appliances such as set-top boxes, Android TVs and repurposed tablets/phones. If you are a non-technical user of Groestlcoin and want an Android app that makes it easy to run a Groestlcoin Core node by acting as a wrapper, then AG Core is the right choice for you.

What's Changed?

Source - Download

Groestlcoin Electrum

What's Changed?

Android Electrum-Specific

OSXWindowsWindows StandaloneWindows PortableLinux - Android
Server SourceServer Installer SourceClient SourceIcon SourceLocale Source

Android Wallet – Including Android Wallet Testnet

What am I?

Android Wallet is a BIP-0032 compatible hierarchial deterministic Groestlcoin Wallet, allowing you to send and receive Groestlcoin via QR codes and URI links.

V7.11.1 Changes

Groestlcoin Java Library SourceSource - DownloadTestnet Download

Groestlwallet

What am I?

Groestlwallet is designed to protect you from malware, browser security holes, even physical theft. With AES hardware encryption, app sandboxing, keychain and code signatures, groestlwallet represents a significant security advance over web and desktop wallets, and other mobile platforms.
Simplicity is groestlwallet's core design principle. Because groestlwallet is "deterministic", your balance and entire transaction history can be restored from just your recovery phrase.

iOS 0.7.3 Changes

Android v89 Changes

iOS SourceAndroid Source - Android DownloadiOS Download

Groestlcoinomi Released

What am I?

Groestlcoinomi is a lightweight thin-client Groestlcoin wallet based on a client-server protocol.

Groestlcoinomi v1.1 Desktop Changes

Groestlcoinomi Android v1.6 Changes

Groestlcoin Java Library SourceAndroid Source
Android DownloadWindows DownloadMac OS DownloadLinux Download

Groestlcoin BIP39 Tool

What's Changed?

Source - Download
submitted by Yokomoko_Saleen to groestlcoin [link] [comments]

Optimizing application with designer patter with cpp

Hello Guys

I have a question on optimizing my code, so I have a wrapper for an RPC 1.0 framework, and I utilizing two patterns for realizing the system of the command, so the Patter Mediator and the Patter Command,

The mediator has more commands, so with the command I pass the container to creating a Graph with the information of the command, and in the second moment I serializing the container concept (In java this concept container is an Object but in my project c++ no because I didn't use new)

My UML is this https://i.imgur.com/9b1yILg.png

My question is on the I how to build the code, with the C++ is correct approach? or this code could be slow down code execution?
I realizing this with this code

Interface command
#include  #include  #include  #include "../core/graph/WrapperInformations.h" namespace spyCBlockRPC { class IRPCCommand { public: virtual void doCommand(WrapperInformations &wrapper, BitcoinAPI &bitcoinApi) = 0; }; } 
The Mediator command
#include  #include  #include  #include "IRPCCommand.h" #include "DecodeScriptCommand.h" #include "DecodeRawTransaction.h" #include "DecodeBlockAtIndexCommand.h" #include "../ConfiguratorSingleton.h" //TODO add an personal exception namespace spyCBlockRPC { class RPCCommandMediator { public: const std::string DECODE_SCRIPT_COMMAND = "DECODE_SCRIPT_COMMAND"; inline static RPCCommandMediator& getInstance() { static RPCCommandMediator SINGLETON; return SINGLETON; } inline void doCommand(std::string keyCommand, WrapperInformations &wrapper) { if(keyCommand.empty()) { // create exception return; } if(keyCommand == DECODE_SCRIPT_COMMAND) { decodeScript.doCommand(wrapper, bitcoinApi); return; } if(keyCommand == DECODE_RAW_TX_COMMAND) { decodeRawTx.doCommand(wrapper, bitcoinApi); } if(keyCommand == DECODE_BLOCKS_COMMAND) { DecodeBlockAtIndexCommand decodeBlock; decodeBlock.doCommand(wrapper, bitcoinApi); } //Throws an exeption return; } private: //Commands DecodeScriptCommand decodeScript; DecodeRawTransaction decodeRawTx; //Bitcoin api BitcoinAPI bitcoinApi; }; } 
The transaction Wrapper, do the interface to creating a graph and it has a refinement to the mediator and calls the necessary command to build the graph
namespace spyCBlockRPC { class WrapperInformations { public: std::string getFrom() const; void setFrom(const std::string &value); std::string getTo() const; void setTo(const std::string &value); std::vector getLinkInformations() const; void setLinkInformations(const std::vector &value); void addInformationLink(const std::string &information); std::vector getFromIdWallets() const; std::vector getToIdWallets() const; void setToIdWallets(const std::vector &value); void setFromIdWallets(const std::vector &value); std::string getDelimitator() const; void setDelimitator(const std::string &value); std::string getHashPreviousTx() const; void setHashPreviousTx(const std::string &value); uint64_t getNOutpoint() const; void setNOutpoint(const uint64_t &value); int getHeightBlockchain() const; void setHeightBlockchain(int value); int getStartBlock() const; void setStartBlock(int value); private: std:: string hashPreviousTx; uint64_t nOutpoint; std::string from; std::vector fromIdWallets; std::string to; std::vector toIdWallets; std::vector linkInformations; std::string delimitator; int heightBlockchain = -1; int startBlock = 1; }; } 
submitted by crazyjoker96 to cpp_questions [link] [comments]

function return value undefined with node js

Hi guys,

I'm new in the javascript world and now I have a problem with a simple function that returns value because this value is not defined, but if I print the value in the function with console.log, the result is correct

My class with the function
const {createBitcoinRpc} = require('@carnesen/bitcoin-rpc'); module.exports = WrapperRPC; var bitcoinRpc; function WrapperRPC(rpcuser, rpcpassword) { this.rpcuser = rpcuser; this.rpcpassword = rpcpassword; this.rpcHref = 'http://' + this.rpcuser + ':' + this.rpcpassword + '@127.0.0.1:8332'; bitcoinRpc = createBitcoinRpc(this.rpcHref); //TODO settin this variable } WrapperRPC.prototype.getDimensionBlockchain = function(){ console.debug("the url is:" + this.rpcHref); bitcoinRpc("getblockcount").then(result => { console.debug("The result command is: " + result); this.result = result; return this.result; }).catch(exception => { console.error('exception generated: ' + exception) }) }; WrapperRPC.prototype.getHashBlock = function (heightBlock) { console.debug("Run command getblockhash"); bitcoinRpc('getblockhash', { height: heightBlock }).then(result => { console.debug("The result command is: " + result); this.result = result; return this.result; }).catch(exception => { console.error('exception generated: ' + exception) }); } 
My main
const express = require('express'); const app = express(); const port = 3000; const WrapperRPC = require('./model/WrapperRPCBitcoin'); var path = require('path'); app.get('/', function(req, res) { res.sendFile(path.join(__dirname + '/index.html')); console.log("try to run rpc"); let rpc = new WrapperRPC('vincent', 'vincent'); let numbarBlock = rpc.getDimensionBlockchain(); console.debug("height blockchain: " + numbarBlock); for(i = 0; i < numbarBlock; i++){ var hashBlock = rpc.getHashBlock(i); console.debug('Hash block ' + i + ' is: ' + hashBlock); } }); // Console will print the message app.listen(port, () => console.log(`Example app listening on port ${port} at the link http://localhost:${port}/`)); 
My log
Example app listening on port 3000 at the link http://localhost:3000/ try to run rpc the url is:http://vincent:[email protected]:8332 height blockchain: undefined The result command is: 586965 
The log is correct The result command is: 586965 but is printed after the height blockchain: undefined What happens in JavaScript?
submitted by crazyjoker96 to learnjavascript [link] [comments]

I Am Creating A New Bitcoin Core GUI Header

Hey folks,
I have begun work to create a new Bitcoin GUI header. I am doing this for several reasons:
What will CBitcoin (the new GUI header) be?
CBitcoin will be a new GUI header as mentioned above. Among some things, it will support SegWit, it'll combine a GUI and command prompt into one single program and once LN is more developed, it'll integrate that as well.
You can find the project on my website: http://cowlite.nl/cbitcoin.php
and on Github: https://github.com/WJongkind/CBitcoin
During the development of CBitcoin, a strong and easy-to-use framework will be written in Java for interaction with the Bitcoin Network, based on the Bitcoin Core's bitcoind and it's JSON RPC API. Eventually it might be decided that this framework will become a entire project on it's own, but we are not that far yet.
You can read more details about the project on my website: http://cowlite.nl/cbitcoin.php. The entire project is open-source and will remain that way for obvious reasons: the software will be trusted, people can contribute to the code and people can borrow code for their own projects.
Looking for contributors
Currently, I am the only developer of the software. I do this in my spare time as a hobby and I do not earn any form of payment for it (however, people do have the option to donate). I am sure I could write the software entirely myself, though that would probably take a significant amount of time. Therefore I am asking any programming enthusiasts out there that have spare time to lend a hand. On the GitHub page & on my website there are instructions on how you can become part of the project. Donations will be split up amongst all contributors.
submitted by ImJustACowLol to Bitcoin [link] [comments]

Just noticed that Ethereum, Solidity and Truffle are all mentioned in the thoughtworks technology radar

I think this speaks very highly of the Ethereum developer ecosystem, especially the work done on Truffle as the only Ethereum developer tooling to be specifically called out.
If you're not familiar with the ThoughtWorks technology radar, you should check it out. Here is an explanation from their website:
The Radar is a document that sets out the changes that we think are currently interesting in software development - things in motion that we think you should pay attention to and consider using in your projects. It reflects the idiosyncratic opinion of a bunch of senior technologists and is based on our day-to-day work and experiences. While we think this is interesting, it shouldn’t be taken as a deep market analysis.

It looks like all three were first included in the November 2017 volume. With the November 2018 volume coming out shortly it will be interesting to see if there are any changes.

Here is a rundown of the three mentions:
"Ethereum for Decentralized Applications" is listed under the Techniques section:
Blockchains have been widely hyped as the panacea for all things fintech, from banking to digital currency to supply chain transparency. We’ve previously featured Ethereum because of its feature set, which includes smart contracts. Now, we're seeing more development using Ethereum for decentralized applications in other areas. Although this is still a very young technology, we're encouraged to see it being used to build decentralized applications beyond cryptocurrency and banking.

"Solidity" is listed under the Languages & Frameworks section:
Programming for smart contracts requires a more expressive language than a scripting system for transactions. Solidity is the most popular among the new programming languages designed for smart contracts. Solidity is a contract-oriented, statically typed language whose syntax is similar to JavaScript. It provides abstractions for writing self-enforcing business logic in smart contracts. The toolchain around Solidity is growing fast. Nowadays, Solidity is the primary choice on the Ethereum platform. Given the immutable nature of deployed smart contracts, it should go without saying that rigorous testing and audit of dependencies is vital.

Truffle is listed in that same section:
Truffle is a development framework that brings a modern web development experience to the Ethereum platform. It takes over the job of smart contract compiling, library linking and deployment, as well as dealing with artifacts in different blockchain networks. One of the reasons we love Truffle is that it encourages people to write tests for their smart contracts. You need to take tests really seriously as smart contract programming is often related to money. With its built-in testing framework and integration with TestRPC, Truffle makes it possible to write the contract in a TDD way. We expect to see more technologies similar to Truffle to promote continuous integration in the blockchain area.
submitted by cryptocmikeb1 to ethdev [link] [comments]

CKB Monthly Report 2018 Dec

TLDR;

Changes in RFCs

The RFC (Request for Comments) process is intended to provide an open and community driven path for new protocols, improvements and best practices. One month later after open source, we have 11 RFCs in draft or proposal status. We haven't finalized them yet, discussions and comments are welcome.

Changes in CKB

CKB has released v0.2.0 and v0.3.0 in this month.
Rust 2018. We have upgraded all the major repositories to Rust 1.31.0 and 2018 edition. After the Rust upgrade, we can switch to numext, which is a high-performance big number library relying on some new features in 1.31.0.
CKB is dockerized. It has never been easier to run a CKB node:
docker run -ti nervos/ckb:latest run 
The node started via
ckb run 
no longer produces new blocks. This feature is now in a new process which is launched by
ckb miner 
(#52). The new process gets block template from a node and submits new block with resolved PoW puzzle via node's RPC. The RPC interface for miners is temporary, and we are working on an RFC proposal for this. After this change, we also modularized RPCs (#118). Now each RPC module can be disabled via config file.
Another feature we are actively developing is peers management. This month, we have implemented network group and inbound peer eviction which described in RFC0007. We also delivered a new version of
peerstore 
which allow us to support security strategies defined in RFC0007 in the future.
Annoyed by the problems of existing P2P libraries, we started to work on a brand new P2P protocol from the ground up. It is still in an early stage and is a minimal implementation for a multiplexed p2p network based on
yamux 
that supports mounting custom protocols. We already implemented 3 core components yamux/secio/service. yamux and secio are mainly refer to their corresponding golang implementations, API are clear and easy to use. Those 3 core components are all use channel based lock-free design with good code readability and maintainability. We are adding up more custom protocols layers, and is going to integrate the discovery protocol soon as described in RFC0012.
We have refactored the rust utility library to mock time for debug and test (#111). It is now available as a separate crate.
There are some other features we are still working on, such as implementation of RFC0006 and RFC0011, and the RFC about serialization format CFB. We are going to release them in next month.

Changes in VM

Changes in SDK

submitted by tonyyuhang to NervosNetwork [link] [comments]

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

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

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]

Factom Protocol Information

The Factom protocol is an open source general purpose data protocol built by an international group of technology companies that extends the security of blockchain to any type of data. Just as TCP / IP enables the WWW, the Factom Protocol enables countless applications to be built on top of it.
Factom is built from scratch and has novel design implementations that set it apart from all other blockchain protocols. We are confident these features will help propel Factom to become the internet's data integrity layer. You are invited to delve into our ecosystem and we look forward to answering any questions you have.
Token and Tokenomics
While the Factom Protocol is a two token system, only the Factoid (FCT) is transferable and able to be traded on exchanges. Entry Credits (EC) are obtained by burning FCT and are used to enter data into the Factom Protocol. Entry Credits are $.001 each and that price is fixed. Therefore, if FCT is worth $1.00 and you burn it, you receive 1,000 EC. If FCT is worth $10.00 each and you burn one, you receive 10,000 EC. This brilliant two token system allows for:
  1. The value of FCT to theoretically increase the more the Factom Protocol is utilized.
  2. Companies and governments can effectively budget for entering data onto the Protocol based upon their estimated usage.
  3. Subscription systems can be setup with 3rd parties where companies and governments don't have to hold cryptocurrency if they don't want to or can't for compliance reasons. FCT are still burned for EC by the 3rd party company but the subscriber is charged a small markup for the service.
Governance
Community Discussion
Development
Block Explorers
Tools
Testnet Resources
Top Exchanges (by volume)
Education
AMAs
Wallets
Authority Node Operators
Authority Node Operators are the coalition of companies that decentralize the Factom Protocol. .
Committees and Working Groups
As the Factom Protocol is one of the most decentralized blockchain projects in existence with no central authority, committees and working groups have been formed to deal with specific tasks.
Past Newsletters
submitted by DChapman77 to factom [link] [comments]

Bitcoin JSON-RPC Tutorial 6 - JSON Parameters and Errors Bitcoin JSON-RPC Tutorials - YouTube Bitcoin JSON-RPC Tutorial 7 - Wallet Notify Bitcoin JSON-RPC Tutorial 5 - Your First Calls - YouTube Bitcoin RPC Remote Code Execution Exploit for BitcoinCore 0.9-0.15.1 CVE-2017-9230

How to Do RPC Calls with C++ Bitcoind . bitcoin deamon = core value of the software (bitcoind -printtoconsole -debug=1) Bitcoind provide the RPC "interface" in which user can query with bitcoin-cli (or a library in c++). You must run bitcoind before using bitcoin-cli. Bitcoin-JSON-RPC-Client is a lightweight Java bitcoin JSON-RPC client binding. It does not require any external dependencies. Code Example A lightweight Java bitcoin JSON-RPC client binding License: Apache 2.0: Tags: bitcoin client rpc: Used By: 1 artifacts: Central (5) Running Bitcoin with the -server argument (or running bitcoind) tells it to function as a HTTP JSON-RPC server, but Basic access authentication must be used when communicating with it, and, for security, by default, the server only accepts connections from other processes on the same machine. If your HTTP or JSON library requires you to specify which 'realm' is authenticated, use 'jsonrpc'. bitcoin-rpc-client. This is a lightweight java bitcoind JSON-RPC client binding. It does not require any external dependencies. Maven. The package is published in the wf.bitcoin group and you can add it to you pom.xml adding a section like this: <dependency> <groupId>wf.bitcoin</groupId> <artifactId>bitcoin-rpc-client</artifactId> <version>1.1.0</version> </dependency> Configuration. In order ...

[index] [43122] [29901] [10653] [34513] [14789] [12764] [22400] [47373] [35605] [25926]

Bitcoin JSON-RPC Tutorial 6 - JSON Parameters and Errors

https://ChainQuery.com/tutorials/a-brief-introduction-to-the-chain-query-bitcoin-rpc-api Take a brief tour of the features and functionality of the Chain Que... Bitcoin JSON-RPC tutorial. How to set up and use bitcoind wallet notify feature. How to set up and use bitcoind wallet notify feature. My Book: Building Bitcoin Websites - https://www.amazon.com ... Bitcoin JSON-RPC Tutorial 3 - bitcoin.conf - Duration: 8:10. m1xolyd1an 13,667 views. 8:10. How to build a monero full (remote) node on ubuntu linux server - Duration: 14:32. ... Bitcoin JSON-RPC tutorial. Making your first bitcoin JSON-RPC calls in PHP. My Book: https://www.amazon.com/Building-Bitcoin-Websites-Beginners-Development/d... Skip navigation Sign in. Search

#