CoinPayments API Sample Code

Dragonchain Great Reddit Scaling Bake-Off Public Proposal

Dragonchain Great Reddit Scaling Bake-Off Public Proposal

Dragonchain Public Proposal TL;DR:

Dragonchain has demonstrated twice Reddit’s entire total daily volume (votes, comments, and posts per Reddit 2019 Year in Review) in a 24-hour demo on an operational network. Every single transaction on Dragonchain is decentralized immediately through 5 levels of Dragon Net, and then secured with combined proof on Bitcoin, Ethereum, Ethereum Classic, and Binance Chain, via Interchain. At the time, in January 2020, the entire cost of the demo was approximately $25K on a single system (transaction fees locked at $0.0001/txn). With current fees (lowest fee $0.0000025/txn), this would cost as little as $625.
Watch Joe walk through the entire proposal and answer questions on YouTube.
This proposal is also available on the Dragonchain blog.

Hello Reddit and Ethereum community!

I’m Joe Roets, Founder & CEO of Dragonchain. When the team and I first heard about The Great Reddit Scaling Bake-Off we were intrigued. We believe we have the solutions Reddit seeks for its community points system and we have them at scale.
For your consideration, we have submitted our proposal below. The team at Dragonchain and I welcome and look forward to your technical questions, philosophical feedback, and fair criticism, to build a scaling solution for Reddit that will empower its users. Because our architecture is unlike other blockchain platforms out there today, we expect to receive many questions while people try to grasp our project. I will answer all questions here in this thread on Reddit, and I've answered some questions in the stream on YouTube.
We have seen good discussions so far in the competition. We hope that Reddit’s scaling solution will emerge from The Great Reddit Scaling Bake-Off and that Reddit will have great success with the implementation.

Executive summary

Dragonchain is a robust open source hybrid blockchain platform that has proven to withstand the passing of time since our inception in 2014. We have continued to evolve to harness the scalability of private nodes, yet take full advantage of the security of public decentralized networks, like Ethereum. We have a live, operational, and fully functional Interchain network integrating Bitcoin, Ethereum, Ethereum Classic, and ~700 independent Dragonchain nodes. Every transaction is secured to Ethereum, Bitcoin, and Ethereum Classic. Transactions are immediately usable on chain, and the first decentralization is seen within 20 seconds on Dragon Net. Security increases further to public networks ETH, BTC, and ETC within 10 minutes to 2 hours. Smart contracts can be written in any executable language, offering full freedom to existing developers. We invite any developer to watch the demo, play with our SDK’s, review open source code, and to help us move forward. Dragonchain specializes in scalable loyalty & rewards solutions and has built a decentralized social network on chain, with very affordable transaction costs. This experience can be combined with the insights Reddit and the Ethereum community have gained in the past couple of months to roll out the solution at a rapid pace.

Response and PoC

In The Great Reddit Scaling Bake-Off post, Reddit has asked for a series of demonstrations, requirements, and other considerations. In this section, we will attempt to answer all of these requests.

Live Demo

A live proof of concept showing hundreds of thousands of transactions
On Jan 7, 2020, Dragonchain hosted a 24-hour live demonstration during which a quarter of a billion (250 million+) transactions executed fully on an operational network. Every single transaction on Dragonchain is decentralized immediately through 5 levels of Dragon Net, and then secured with combined proof on Bitcoin, Ethereum, Ethereum Classic, and Binance Chain, via Interchain. This means that every single transaction is secured by, and traceable to these networks. An attack on this system would require a simultaneous attack on all of the Interchained networks.
24 hours in 4 minutes (YouTube):
24 hours in 4 minutes
The demonstration was of a single business system, and any user is able to scale this further, by running multiple systems simultaneously. Our goals for the event were to demonstrate a consistent capacity greater than that of Visa over an extended time period.
Tooling to reproduce our demo is available here:
https://github.com/dragonchain/spirit-bomb

Source Code

Source code (for on & off-chain components as well tooling used for the PoC). The source code does not have to be shared publicly, but if Reddit decides to use a particular solution it will need to be shared with Reddit at some point.

Scaling

How it works & scales

Architectural Scaling

Dragonchain’s architecture attacks the scalability issue from multiple angles. Dragonchain is a hybrid blockchain platform, wherein every transaction is protected on a business node to the requirements of that business or purpose. A business node may be held completely private or may be exposed or replicated to any level of exposure desired.
Every node has its own blockchain and is independently scalable. Dragonchain established Context Based Verification as its consensus model. Every transaction is immediately usable on a trust basis, and in time is provable to an increasing level of decentralized consensus. A transaction will have a level of decentralization to independently owned and deployed Dragonchain nodes (~700 nodes) within seconds, and full decentralization to BTC and ETH within minutes or hours. Level 5 nodes (Interchain nodes) function to secure all transactions to public or otherwise external chains such as Bitcoin and Ethereum. These nodes scale the system by aggregating multiple blocks into a single Interchain transaction on a cadence. This timing is configurable based upon average fees for each respective chain. For detailed information about Dragonchain’s architecture, and Context Based Verification, please refer to the Dragonchain Architecture Document.

Economic Scaling

An interesting feature of Dragonchain’s network consensus is its economics and scarcity model. Since Dragon Net nodes (L2-L4) are independent staking nodes, deployment to cloud platforms would allow any of these nodes to scale to take on a large percentage of the verification work. This is great for scalability, but not good for the economy, because there is no scarcity, and pricing would develop a downward spiral and result in fewer verification nodes. For this reason, Dragonchain uses TIME as scarcity.
TIME is calculated as the number of Dragons held, multiplied by the number of days held. TIME influences the user’s access to features within the Dragonchain ecosystem. It takes into account both the Dragon balance and length of time each Dragon is held. TIME is staked by users against every verification node and dictates how much of the transaction fees are awarded to each participating node for every block.
TIME also dictates the transaction fee itself for the business node. TIME is staked against a business node to set a deterministic transaction fee level (see transaction fee table below in Cost section). This is very interesting in a discussion about scaling because it guarantees independence for business implementation. No matter how much traffic appears on the entire network, a business is guaranteed to not see an increased transaction fee rate.

Scaled Deployment

Dragonchain uses Docker and Kubernetes to allow the use of best practices traditional system scaling. Dragonchain offers managed nodes with an easy to use web based console interface. The user may also deploy a Dragonchain node within their own datacenter or favorite cloud platform. Users have deployed Dragonchain nodes on-prem on Amazon AWS, Google Cloud, MS Azure, and other hosting platforms around the world. Any executable code, anything you can write, can be written into a smart contract. This flexibility is what allows us to say that developers with no blockchain experience can use any code language to access the benefits of blockchain. Customers have used NodeJS, Python, Java, and even BASH shell script to write smart contracts on Dragonchain.
With Docker containers, we achieve better separation of concerns, faster deployment, higher reliability, and lower response times.
We chose Kubernetes for its self-healing features, ability to run multiple services on one server, and its large and thriving development community. It is resilient, scalable, and automated. OpenFaaS allows us to package smart contracts as Docker images for easy deployment.
Contract deployment time is now bounded only by the size of the Docker image being deployed but remains fast even for reasonably large images. We also take advantage of Docker’s flexibility and its ability to support any language that can run on x86 architecture. Any image, public or private, can be run as a smart contract using Dragonchain.

Flexibility in Scaling

Dragonchain’s architecture considers interoperability and integration as key features. From inception, we had a goal to increase adoption via integration with real business use cases and traditional systems.
We envision the ability for Reddit, in the future, to be able to integrate alternate content storage platforms or other financial services along with the token.
  • LBRY - To allow users to deploy content natively to LBRY
  • MakerDAO to allow users to lend small amounts backed by their Reddit community points.
  • STORJ/SIA to allow decentralized on chain storage of portions of content. These integrations or any other are relatively easy to integrate on Dragonchain with an Interchain implementation.

Cost

Cost estimates (on-chain and off-chain) For the purpose of this proposal, we assume that all transactions are on chain (posts, replies, and votes).
On the Dragonchain network, transaction costs are deterministic/predictable. By staking TIME on the business node (as described above) Reddit can reduce transaction costs to as low as $0.0000025 per transaction.
Dragonchain Fees Table

Getting Started

How to run it
Building on Dragonchain is simple and requires no blockchain experience. Spin up a business node (L1) in our managed environment (AWS), run it in your own cloud environment, or on-prem in your own datacenter. Clear documentation will walk you through the steps of spinning up your first Dragonchain Level 1 Business node.
Getting started is easy...
  1. Download Dragonchain’s dctl
  2. Input three commands into a terminal
  3. Build an image
  4. Run it
More information can be found in our Get started documents.

Architecture
Dragonchain is an open source hybrid platform. Through Dragon Net, each chain combines the power of a public blockchain (like Ethereum) with the privacy of a private blockchain.
Dragonchain organizes its network into five separate levels. A Level 1, or business node, is a totally private blockchain only accessible through the use of public/private keypairs. All business logic, including smart contracts, can be executed on this node directly and added to the chain.
After creating a block, the Level 1 business node broadcasts a version stripped of sensitive private data to Dragon Net. Three Level 2 Validating nodes validate the transaction based on guidelines determined from the business. A Level 3 Diversity node checks that the level 2 nodes are from a diverse array of locations. A Level 4 Notary node, hosted by a KYC partner, then signs the validation record received from the Level 3 node. The transaction hash is ledgered to the Level 5 public chain to take advantage of the hash power of massive public networks.
Dragon Net can be thought of as a “blockchain of blockchains”, where every level is a complete private blockchain. Because an L1 can send to multiple nodes on a single level, proof of existence is distributed among many places in the network. Eventually, proof of existence reaches level 5 and is published on a public network.

API Documentation

APIs (on chain & off)

SDK Source

Nobody’s Perfect

Known issues or tradeoffs
  • Dragonchain is open source and even though the platform is easy enough for developers to code in any language they are comfortable with, we do not have so large a developer community as Ethereum. We would like to see the Ethereum developer community (and any other communities) become familiar with our SDK’s, our solutions, and our platform, to unlock the full potential of our Ethereum Interchain. Long ago we decided to prioritize both Bitcoin and Ethereum Interchains. We envision an ecosystem that encompasses different projects to give developers the ability to take full advantage of all the opportunities blockchain offers to create decentralized solutions not only for Reddit but for all of our current platforms and systems. We believe that together we will take the adoption of blockchain further. We currently have additional Interchain with Ethereum Classic. We look forward to Interchain with other blockchains in the future. We invite all blockchains projects who believe in decentralization and security to Interchain with Dragonchain.
  • While we only have 700 nodes compared to 8,000 Ethereum and 10,000 Bitcoin nodes. We harness those 18,000 nodes to scale to extremely high levels of security. See Dragonchain metrics.
  • Some may consider the centralization of Dragonchain’s business nodes as an issue at first glance, however, the model is by design to protect business data. We do not consider this a drawback as these nodes can make any, none, or all data public. Depending upon the implementation, every subreddit could have control of its own business node, for potential business and enterprise offerings, bringing new alternative revenue streams to Reddit.

Costs and resources

Summary of cost & resource information for both on-chain & off-chain components used in the PoC, as well as cost & resource estimates for further scaling. If your PoC is not on mainnet, make note of any mainnet caveats (such as congestion issues).
Every transaction on the PoC system had a transaction fee of $0.0001 (one-hundredth of a cent USD). At 256MM transactions, the demo cost $25,600. With current operational fees, the same demonstration would cost $640 USD.
For the demonstration, to achieve throughput to mimic a worldwide payments network, we modeled several clients in AWS and 4-5 business nodes to handle the traffic. The business nodes were tuned to handle higher throughput by adjusting memory and machine footprint on AWS. This flexibility is valuable to implementing a system such as envisioned by Reddit. Given that Reddit’s daily traffic (posts, replies, and votes) is less than half that of our demo, we would expect that the entire Reddit system could be handled on 2-5 business nodes using right-sized containers on AWS or similar environments.
Verification was accomplished on the operational Dragon Net network with over 700 independently owned verification nodes running around the world at no cost to the business other than paid transaction fees.

Requirements

Scaling

This PoC should scale to the numbers below with minimal costs (both on & off-chain). There should also be a clear path to supporting hundreds of millions of users.
Over a 5 day period, your scaling PoC should be able to handle:
*100,000 point claims (minting & distributing points) *25,000 subscriptions *75,000 one-off points burning *100,000 transfers
During Dragonchain’s 24 hour demo, the above required numbers were reached within the first few minutes.
Reddit’s total activity is 9000% more than Ethereum’s total transaction level. Even if you do not include votes, it is still 700% more than Ethereum’s current volume. Dragonchain has demonstrated that it can handle 250 million transactions a day, and it’s architecture allows for multiple systems to work at that level simultaneously. In our PoC, we demonstrate double the full capacity of Reddit, and every transaction was proven all the way to Bitcoin and Ethereum.
Reddit Scaling on Ethereum

Decentralization

Solutions should not depend on any single third-party provider. We prefer solutions that do not depend on specific entities such as Reddit or another provider, and solutions with no single point of control or failure in off-chain components but recognize there are numerous trade-offs to consider
Dragonchain’s architecture calls for a hybrid approach. Private business nodes hold the sensitive data while the validation and verification of transactions for the business are decentralized within seconds and secured to public blockchains within 10 minutes to 2 hours. Nodes could potentially be controlled by owners of individual subreddits for more organic decentralization.
  • Billing is currently centralized - there is a path to federation and decentralization of a scaled billing solution.
  • Operational multi-cloud
  • Operational on-premises capabilities
  • Operational deployment to any datacenter
  • Over 700 independent Community Verification Nodes with proof of ownership
  • Operational Interchain (Interoperable to Bitcoin, Ethereum, and Ethereum Classic, open to more)

Usability Scaling solutions should have a simple end user experience.

Users shouldn't have to maintain any extra state/proofs, regularly monitor activity, keep track of extra keys, or sign anything other than their normal transactions
Dragonchain and its customers have demonstrated extraordinary usability as a feature in many applications, where users do not need to know that the system is backed by a live blockchain. Lyceum is one of these examples, where the progress of academy courses is being tracked, and successful completion of courses is rewarded with certificates on chain. Our @Save_The_Tweet bot is popular on Twitter. When used with one of the following hashtags - #please, #blockchain, #ThankYou, or #eternalize the tweet is saved through Eternal to multiple blockchains. A proof report is available for future reference. Other examples in use are DEN, our decentralized social media platform, and our console, where users can track their node rewards, view their TIME, and operate a business node.
Examples:

Transactions complete in a reasonable amount of time (seconds or minutes, not hours or days)
All transactions are immediately usable on chain by the system. A transaction begins the path to decentralization at the conclusion of a 5-second block when it gets distributed across 5 separate community run nodes. Full decentralization occurs within 10 minutes to 2 hours depending on which interchain (Bitcoin, Ethereum, or Ethereum Classic) the transaction hits first. Within approximately 2 hours, the combined hash power of all interchained blockchains secures the transaction.

Free to use for end users (no gas fees, or fixed/minimal fees that Reddit can pay on their behalf)
With transaction pricing as low as $0.0000025 per transaction, it may be considered reasonable for Reddit to cover transaction fees for users.
All of Reddit's Transactions on Blockchain (month)
Community points can be earned by users and distributed directly to their Reddit account in batch (as per Reddit minting plan), and allow users to withdraw rewards to their Ethereum wallet whenever they wish. Withdrawal fees can be paid by either user or Reddit. This model has been operating inside the Dragonchain system since 2018, and many security and financial compliance features can be optionally added. We feel that this capability greatly enhances user experience because it is seamless to a regular user without cryptocurrency experience, yet flexible to a tech savvy user. With regard to currency or token transactions, these would occur on the Reddit network, verified to BTC and ETH. These transactions would incur the $0.0000025 transaction fee. To estimate this fee we use the monthly active Reddit users statista with a 60% adoption rate and an estimated 10 transactions per month average resulting in an approximate $720 cost across the system. Reddit could feasibly incur all associated internal network charges (mining/minting, transfer, burn) as these are very low and controllable fees.
Reddit Internal Token Transaction Fees

Reddit Ethereum Token Transaction Fees
When we consider further the Ethereum fees that might be incurred, we have a few choices for a solution.
  1. Offload all Ethereum transaction fees (user withdrawals) to interested users as they wish to withdraw tokens for external use or sale.
  2. Cover Ethereum transaction fees by aggregating them on a timed schedule. Users would request withdrawal (from Reddit or individual subreddits), and they would be transacted on the Ethereum network every hour (or some other schedule).
  3. In a combination of the above, customers could cover aggregated fees.
  4. Integrate with alternate Ethereum roll up solutions or other proposals to aggregate minting and distribution transactions onto Ethereum.

Bonus Points

Users should be able to view their balances & transactions via a blockchain explorer-style interface
From interfaces for users who have no knowledge of blockchain technology to users who are well versed in blockchain terms such as those present in a typical block explorer, a system powered by Dragonchain has flexibility on how to provide balances and transaction data to users. Transactions can be made viewable in an Eternal Proof Report, which displays raw data along with TIME staking information and traceability all the way to Bitcoin, Ethereum, and every other Interchained network. The report shows fields such as transaction ID, timestamp, block ID, multiple verifications, and Interchain proof. See example here.
Node payouts within the Dragonchain console are listed in chronological order and can be further seen in either Dragons or USD. See example here.
In our social media platform, Dragon Den, users can see, in real-time, their NRG and MTR balances. See example here.
A new influencer app powered by Dragonchain, Raiinmaker, breaks down data into a user friendly interface that shows coin portfolio, redeemed rewards, and social scores per campaign. See example here.

Exiting is fast & simple
Withdrawing funds on Dragonchain’s console requires three clicks, however, withdrawal scenarios with more enhanced security features per Reddit’s discretion are obtainable.

Interoperability Compatibility with third party apps (wallets/contracts/etc) is necessary.
Proven interoperability at scale that surpasses the required specifications. Our entire platform consists of interoperable blockchains connected to each other and traditional systems. APIs are well documented. Third party permissions are possible with a simple smart contract without the end user being aware. No need to learn any specialized proprietary language. Any code base (not subsets) is usable within a Docker container. Interoperable with any blockchain or traditional APIs. We’ve witnessed relatively complex systems built by engineers with no blockchain or cryptocurrency experience. We’ve also demonstrated the creation of smart contracts within minutes built with BASH shell and Node.js. Please see our source code and API documentation.

Scaling solutions should be extensible and allow third parties to build on top of it Open source and extensible
APIs should be well documented and stable

Documentation should be clear and complete
For full documentation, explore our docs, SDK’s, Github repo’s, architecture documents, original Disney documentation, and other links or resources provided in this proposal.

Third-party permissionless integrations should be possible & straightforward Smart contracts are Docker based, can be written in any language, use full language (not subsets), and can therefore be integrated with any system including traditional system APIs. Simple is better. Learning an uncommon or proprietary language should not be necessary.
Advanced knowledge of mathematics, cryptography, or L2 scaling should not be required. Compatibility with common utilities & toolchains is expected.
Dragonchain business nodes and smart contracts leverage Docker to allow the use of literally any language or executable code. No proprietary language is necessary. We’ve witnessed relatively complex systems built by engineers with no blockchain or cryptocurrency experience. We’ve also demonstrated the creation of smart contracts within minutes built with BASH shell and Node.js.

Bonus

Bonus Points: Show us how it works. Do you have an idea for a cool new use case for Community Points? Build it!

TIME

Community points could be awarded to Reddit users based upon TIME too, whereas the longer someone is part of a subreddit, the more community points someone naturally gained, even if not actively commenting or sharing new posts. A daily login could be required for these community points to be credited. This grants awards to readers too and incentivizes readers to create an account on Reddit if they browse the website often. This concept could also be leveraged to provide some level of reputation based upon duration and consistency of contribution to a community subreddit.

Dragon Den

Dragonchain has already built a social media platform that harnesses community involvement. Dragon Den is a decentralized community built on the Dragonchain blockchain platform. Dragon Den is Dragonchain’s answer to fake news, trolling, and censorship. It incentivizes the creation and evaluation of quality content within communities. It could be described as being a shareholder of a subreddit or Reddit in its entirety. The more your subreddit is thriving, the more rewarding it will be. Den is currently in a public beta and in active development, though the real token economy is not live yet. There are different tokens for various purposes. Two tokens are Lair Ownership Rights (LOR) and Lair Ownership Tokens (LOT). LOT is a non-fungible token for ownership of a specific Lair. LOT will only be created and converted from LOR.
Energy (NRG) and Matter (MTR) work jointly. Your MTR determines how much NRG you receive in a 24-hour period. Providing quality content, or evaluating content will earn MTR.

Security. Users have full ownership & control of their points.
All community points awarded based upon any type of activity or gift, are secured and provable to all Interchain networks (currently BTC, ETH, ETC). Users are free to spend and withdraw their points as they please, depending on the features Reddit wants to bring into production.

Balances and transactions cannot be forged, manipulated, or blocked by Reddit or anyone else
Users can withdraw their balance to their ERC20 wallet, directly through Reddit. Reddit can cover the fees on their behalf, or the user covers this with a portion of their balance.

Users should own their points and be able to get on-chain ERC20 tokens without permission from anyone else
Through our console users can withdraw their ERC20 rewards. This can be achieved on Reddit too. Here is a walkthrough of our console, though this does not show the quick withdrawal functionality, a user can withdraw at any time. https://www.youtube.com/watch?v=aNlTMxnfVHw

Points should be recoverable to on-chain ERC20 tokens even if all third-parties involved go offline
If necessary, signed transactions from the Reddit system (e.g. Reddit + Subreddit) can be sent to the Ethereum smart contract for minting.

A public, third-party review attesting to the soundness of the design should be available
To our knowledge, at least two large corporations, including a top 3 accounting firm, have conducted positive reviews. These reviews have never been made public, as Dragonchain did not pay or contract for these studies to be released.

Bonus points
Public, third-party implementation review available or in progress
See above

Compatibility with HSMs & hardware wallets
For the purpose of this proposal, all tokenization would be on the Ethereum network using standard token contracts and as such, would be able to leverage all hardware wallet and Ethereum ecosystem services.

Other Considerations

Minting/distributing tokens is not performed by Reddit directly
This operation can be automated by smart contract on Ethereum. Subreddits can if desired have a role to play.

One off point burning, as well as recurring, non-interactive point burning (for subreddit memberships) should be possible and scalable
This is possible and scalable with interaction between Dragonchain Reddit system and Ethereum token contract(s).

Fully open-source solutions are strongly preferred
Dragonchain is fully open source (see section on Disney release after conclusion).

Conclusion

Whether it is today, or in the future, we would like to work together to bring secure flexibility to the highest standards. It is our hope to be considered by Ethereum, Reddit, and other integrative solutions so we may further discuss the possibilities of implementation. In our public demonstration, 256 million transactions were handled in our operational network on chain in 24 hours, for the low cost of $25K, which if run today would cost $625. Dragonchain’s interoperable foundation provides the atmosphere necessary to implement a frictionless community points system. Thank you for your consideration of our proposal. We look forward to working with the community to make something great!

Disney Releases Blockchain Platform as Open Source

The team at Disney created the Disney Private Blockchain Platform. The system was a hybrid interoperable blockchain platform for ledgering and smart contract development geared toward solving problems with blockchain adoption and usability. All objective evaluation would consider the team’s output a success. We released a list of use cases that we explored in some capacity at Disney, and our input on blockchain standardization as part of our participation in the W3C Blockchain Community Group.
https://lists.w3.org/Archives/Public/public-blockchain/2016May/0052.html

Open Source

In 2016, Roets proposed to release the platform as open source to spread the technology outside of Disney, as others within the W3C group were interested in the solutions that had been created inside of Disney.
Following a long process, step by step, the team met requirements for release. Among the requirements, the team had to:
  • Obtain VP support and approval for the release
  • Verify ownership of the software to be released
  • Verify that no proprietary content would be released
  • Convince the organization that there was a value to the open source community
  • Convince the organization that there was a value to Disney
  • Offer the plan for ongoing maintenance of the project outside of Disney
  • Itemize competing projects
  • Verify no conflict of interest
  • Preferred license
  • Change the project name to not use the name Disney, any Disney character, or any other associated IP - proposed Dragonchain - approved
  • Obtain legal approval
  • Approval from corporate, parks, and other business units
  • Approval from multiple Disney patent groups Copyright holder defined by Disney (Disney Connected and Advanced Technologies)
  • Trademark searches conducted for the selected name Dragonchain
  • Obtain IT security approval
  • Manual review of OSS components conducted
  • OWASP Dependency and Vulnerability Check Conducted
  • Obtain technical (software) approval
  • Offer management, process, and financial plans for the maintenance of the project.
  • Meet list of items to be addressed before release
  • Remove all Disney project references and scripts
  • Create a public distribution list for email communications
  • Remove Roets’ direct and internal contact information
  • Create public Slack channel and move from Disney slack channels
  • Create proper labels for issue tracking
  • Rename internal private Github repository
  • Add informative description to Github page
  • Expand README.md with more specific information
  • Add information beyond current “Blockchains are Magic”
  • Add getting started sections and info on cloning/forking the project
  • Add installation details
  • Add uninstall process
  • Add unit, functional, and integration test information
  • Detail how to contribute and get involved
  • Describe the git workflow that the project will use
  • Move to public, non-Disney git repository (Github or Bitbucket)
  • Obtain Disney Open Source Committee approval for release
On top of meeting the above criteria, as part of the process, the maintainer of the project had to receive the codebase on their own personal email and create accounts for maintenance (e.g. Github) with non-Disney accounts. Given the fact that the project spanned multiple business units, Roets was individually responsible for its ongoing maintenance. Because of this, he proposed in the open source application to create a non-profit organization to hold the IP and maintain the project. This was approved by Disney.
The Disney Open Source Committee approved the application known as OSSRELEASE-10, and the code was released on October 2, 2016. Disney decided to not issue a press release.
Original OSSRELASE-10 document

Dragonchain Foundation

The Dragonchain Foundation was created on January 17, 2017. https://den.social/l/Dragonchain/24130078352e485d96d2125082151cf0/dragonchain-and-disney/
submitted by j0j0r0 to ethereum [link] [comments]

List of CFML Vulnerabilities & Security Issues

This list is updated frequently as we detect more issues, also note that we can’t detect these issues in all cases on all servers, even if the issue has not been patched yet.
Here are some CFML Vulnerabilities & Security Issues that you might have faced-

  1. Jakarta Virtual Directory Exposed – The /jakarta virtual directory (which is required by CF10+ on Tomcat/IIS) is serving files such as isapi_redirect.properties or isapi_redirect.log. The only URI that should be served is /jakarta/isapi_redirect.dll – you can use Request Filtering to block.
  2. Bitcoin Miner Discovered – Found files in /CFIDE that match the signature of a bitcoin miner exploit. Look for /CFIDE/m /CFIDE/m32 /CFIDE/m64 and /CFIDE/updates.cfm among others.
  3. Hotfix APSB11-14 Not Installed – Apply the hotfixes located in Adobe Security Notice apsb11-14.
  4. Railo Security Issue 2635 – Input of Chr(0) to the ReplaceList function can cause infinate loop / crash. Fixed in Version 4.1.1.008
  5. XSS Injection in cfform.js – A document.write call was found in your /CFIDE/scripts/cfform.js file, an attacker may be injecting a javascript, please check your cfform.js file.
  6. Executable found in CFIDE – Found executable file(s) in /CFIDE with one of the following file extensions: dll, exe, bat, sh
  7. Heartbleed Vulnerability Detected – The heartbleed vulnerability is a bug in OpenSSL (the crypto library used by Apache, NGinx, and others) that can allow the leakage of private keys used for TLS/SSL encryption.
  8. OpenBD AdminAPI Exposed to the Public – The /bluedragon/adminapi/ directory is open to the public it should be locked down to prevent exploit.
  9. Security Hotfix APSB12-26 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB12-26 was not found to be installed on your server. This hotfix resolves a sandbox permission issue.
  10. Security Hotfix APSB17-30 Not Installed Or Partailly Installed – The security hotfix referenced in Adobe Security Bulletin APSB17-30 was not found to be fully installed on your server. For the hotfix to be effective you must have Java 8 update 121 or greater installed. This hotfix resolves two critical vulnerabilities CVE-2017-11286 and CVE-2017-11283 / CVE-2017-11284 and one important vulnerability CVE-2017-11285. The issues are resolved in ColdFusion 11 Update 13+ and ColdFusion 2016 Update 5+ with Java 8 update 121 or greater.
  11. ColdFusion Example Applications Installed – The ColdFusion example applications are installed at /cfdocs/exampleapps/ or /CFIDE/gettingstarted/, they should not be installed on a production server.
  12. Svn Hidden Directory Exposed – A request for /.svn/text-base/index.cfm.svn-base appears to resolve to a subversion repository, which could lead to source code disclosure. Please block .svn/
  13. Solr Search Service Exposed – CVE-2010-0185 detected. ColdFusion 9 Apache Solr services are exposed to the public. Any data in solr search collections may be exposed to the public. Follow the instructions in APSB10-04 to remedy, or upgrade to ColdFusion 9.0.1.
  14. TLS Compression Supported – TLS Compression should be disabled due to the CRIME TLS vulnerability.
  15. Security Hotfix APSB11-04 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB11-04 was not found to be installed on your server. This hotfix also contains most prior security hotfixes.
  16. Git Hidden Directory Exposed – A request for /.git/config appears to resolve to a git repository, wouch could lead to source code disclosure. Please block .git/
  17. Cross Site Scripting Vulnerability CVE-2011-4368 – CVE-2011-4368 detected. Apply the hotfix located in Adobe Security Notice apsb11-29.
  18. JVM Vulnerable to Java Null Byte Injection – The JVM that you are running is vulnerable to null byte injections (or null byte poisioning) in java.io file operations. Java 1.7.0_40+ or 1.8+ attempt to mitigate null byte injection attacks.
  19. Java 11 Security Update Available – The JVM that you are running contains security vulnerabilities that could be exploited in server side environments. Update to the latest version of Java 11. Note that Oracle Java 11 requires a commercial license. Adobe CF customers can download Oracle Java 11 from the ColdFusion Downloads Page. You can also use OpenJDK, Amazon Corretto, or other non-oracle JVMs for free.
  20. Security Hotfix APSB19-10 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB19-10 was not found to be installed on your server. This hotfix resolves 2 issues, one important (CVE-2019-7092) and one critical (CVE-2019-7091). The issues are resolved in ColdFusion 11 Update 16+ ColdFusion 2016 Update 8+ and ColdFusion 2018 Update 2+. For all security fixes to be effective you should also have Java 8 update 121 or greater installed.
  21. Cross Site Scripting Vulnerability CVE-2011-0583 – CVE-2011-0583 detected. Apply the hotfixes located in Adobe Security Notice apsb11-04. The detection of this vulnerability also indicates to a high degree of likelihood that the following vulnerabilities may also exist: CVE-2011-0580, CVE-2011-0581, CVE-2011-0582, CVE-2011-0584
  22. Apache 2.2 Security Update Available – The version of Apache you are running does not contain the most recent security fixes.
  23. BlaseDS/AMF External XML Entity Injection – CVE-2009-3960 detected. You must apply the hotfix specified in Adobe Security Bulliten APSB10-05, otherwise an attacker can read any file on the server that ColdFusion has permission to read. You need to do this even if you don’t use BlaseDS or Flash Remoting because it is enabled in CF by default.
  24. SSL Version 2 Enabled – Your Web Server is accepting SSL V2 connections, a weak protocol. For PCI compliance, and strong security you must disable this protocol on your web server.
  25. Missing Strict-Transport-Security Header – This domain supports HTTPS but does not send the HTTP Strict-Transport-Security response header (HSTS) to force HTTPS.
  26. The /CFIDE/scripts directory is in default location. – Consider changing the default location of /CFIDE/scripts/ by changing the value of the Default Script Src setting in the ColdFusion Administrator.
  27. Recalled Hotfix 10.0.3 Installed – You are running ColdFusion 10.0.3 which has been recalled by adobe due to bugs in the release. Please install the latest 10.0 hotfix.
  28. ComponentUtils Exposed to the Public – The /CFIDE/componentutils/ directory is open to the public it should be locked down to prevent exploit.
  29. ColdFusion Update Available – You may not be running the latest version of ColdFusion 8, consider updating to ColdFusion 8.0.1
  30. Security Hotfix APSB13-10 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB13-10 was not found on your server. This hotfix resolves authentication issues that could allow an attacker impersonate a user in your application, or a ColdFusion Administrator.
  31. CVE-2010-2861 Detected – Path Traversal Vulnerability detected (CVE-2010-2861 APSB10-18), this allows an attacker to read any file on the servers file system that ColdFusion has access to (within the same drive on windows).
  32. Security Hotfix APSB13-19 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB13-19 was not found on your server.
  33. Security Hotfix APSB12-15 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB12-15 was not found to be installed on your server. This hotfix resolves a HTTP response splitting vulnerability in the ColdFusion Component Browser CVE-2012-2041.
  34. Security Hotfix APSB16-16 Not Installed – The security hotfix referenced in Adobe Security Bulletin APSB16-16 was not found to be installed on your server. This hotfix addresses a XSS issue, a Java Deserialization Vulnerability and a TLS Hostname verification issue. This issue is fixed in ColdFusion 10 Update 19+, ColdFusion 11 Update 8+, and ColdFusion 2016 Update 1+
  35. Vulnerable PageSpeed Module – The Version of PageSpeed Module you are using may be vulnerable to one or more vulnerabilities. Update your PageSpeed web server module to the latest version to resolve.
  36. TLS 1.2 Is Not Enabled – Configure your server to accept TLS 1.2 connections for optimal HTTPS security. Note for IIS you must be running Windows 2008r2 or greater for TLS 1.2 support. You can use our IIS SSL / TLS configuration tool to toggle protocol support on your server.
  37. Java 13 EOL – Java 13 has reached end of life at the release of Java 14. It is not a LTS (Long Term Support Version), you can use Java 11 for LTS.
  38. Lucee Security Issue 2015-08-06 – Lucee fixed an XSS issue in version 4.5.1.023. This issue remains unpatched in Railo.
submitted by aligatorraid to coldfusion [link] [comments]

Sobre Tibia, gold farmers y un caso de ayuda y éxito PT2. Son muy buenos consejos de cómo comenzar a programar profesionalmente

Una vez más, reconocimiento al autor original de los post International-Unit-8
Hello,

I have gotten so many replies and messages since my last post in this thread, that I can't answer them all individually. Previous topic:

https://www.reddit.com/TibiaMMO/comments/h8tu5u/a_great_tip_for_brazilians_venezuelans_and_othe

It has been shared on multiple subreddits so I have no idea where to even post this. But I'd like to come up with a follow-up thread with some more information. The internet is the most powerful tool that mankind has ever invented. You have the ability to reach thousands, millions and even billions of people with just a computer and some internet access.

If you're on this subreddit, chances are you're already playing Tibia and you already have a computer and internet access. It doesn't need to be the best internet, but as long as websites will load (eventually) you are good to go.

In this topic I will go more in-depth on web development and software engineering. If you have a very slow internet connection, you may want to look into web development instead of software development. An application/software is much heavier (larger file size) than a website. And most developer jobs require that you send and download files, back and forth, between you and your company's server. So if you feel like your internet is too slow to send a lot of files - do not worry! There are plenty of jobs.

First, I will go through some more details on how to learn web development and software development. After that, I will list a few other kinds of jobs that you can do remotely. These types of jobs can be done from anywhere in the world as long as you have internet access.



Part 1: Some languages you should learn

What is web development? Well, it can be a lot of things. You perhaps make websites for shops/restaurants/hair dressers/dentists, or you work for a big company and work on their web application, like Outlook, Discord or Spotify (which can all be accessed via a browser: their web app). You can also work with design and user experience, instead of programming. Being a web developer can mean so many different things, it's impossible to name them all. But most web developers are just developers: they program. They make websites, and they either sell the websites to companies (as a consultant) or you work full/part-time for a company.

I can not provide in-depth information about every single thing, but I can give you some pointers. The very basics any web developer should know is this:

HTML (HyperText Markup Language) - it's what almost all websites use as a foundation. This is not a programming language, but it is a markup language. If you want to build websites, you pretty much have to know this language. Don't worry though, it is easy. Not so much to learn. You can learn all about it in a few weeks.

CSS (Cascading Style Sheets) - it's what will add colors and shapes to your website. If you want to focus more on design (also known as front end development) then this is where you want to gain a lot of knowledge.

Python - A very simple language to learn. This language is very often the first programming language that developers start using. You can use it for a lot of things. This language is used in the back of a lot of websites. Google has been using Python for years and still is. It's great for web scraping and making web requests. If you want a language to practice your algorithms, then this language is awesome.

PHP - This used to be a very popular language, but not so much these days. However, it is very good to know how this works because it's very simple to learn and also very functional in some cases. If you want to transmit or withdraw information from a database to your website, then this (in combination with SQL) is a great way to do so. Whenever you make a login system or a contact form, the data must be sent somehow to a recipient or a database. PHP will help you do that. It is a server-side language, which means it will run in the back of the website.

SQL - To be able to communicate with databases (for example: save data, update data, or insert data) you can use different languages for that. But SQL is probably the most widely used language for this. It is basically just a bunch of commands that you tell your website or app to do. If you have a web shop for example, you will need a database to store all your product information in. You can for example use MySQL as your database and then use the SQL language to extract data from your database and publish it as a list of products on your website.

JavaScript - Perhaps the most powerful language at the moment. Anyone who is good at JavaScript will be able to learn most other modern programming languages. In recent years, the demand for good JavaScript developers has skyrocketed. It's because more applications are becoming web based, and JavaScript is probably among the most useful languages to use. You can use it for so many things. Previously JavaScript was only being run on the client side of the website (that means in the user's browser). But in recent years, there has been massive development of this language and you are now able to build servers, connect to databases and do very powerful web applications using just this language. A great tutorial for JavaScript was made by Tony Alicea: https://www.youtube.com/watch?v=Bv_5Zv5c-Ts This video is "just" 3.5 hours, but it's the intro. There is a much longer version of it, and you can download it for free if you search for it. Just find it as a torrent and watch it. It's probably the best tutorial I have seen for JavaScript.

C# - It's pronounced as "C Sharp". This language has been dominating the software engineering market for decades at this point. Everyone loves it. It's relatively easy to learn and you can build a lot of stuff in C#. It's very much like JavaScript, but focuses more on application development rather than website development. I would however try to avoid learning this language if you have very slow internet, since you will most likely be sending a ton of files back and forth. But if application (computer & phone) is your thing, then this language is great. There are so many tutorials on this, but there is 1 channel on YouTube which teaches a lot of the basics in C# (and many other languages) and that channel is called ProgrammingKnowledge. Sure, his C# videos may be old now but most of it is still relevant and useful. You will learn a lot by watching his videos. It's always good to start from the beginning and then when you're familiar with that, you can learn more about the recent updates in C#. https://www.youtube.com/watch?v=V2A8tcb_YyY&list=PLS1QulWo1RIZrmdggzEKbhnfvCMHtT-sA

Java - This is pretty much 90% identical to C# as I wrote above. Widely used, relatively easy to learn the basics and there's plenty of jobs. If you like making android apps, this language is for you.



Part 2: Technologies and useful tools

To become a web developer you will need a few tools. You need a text editor, a FTP client, a SSH client and some other things. Also a good browser.

Text editor: Visual Studio Code, Atom, Sublime Text, Brackets - There are many different text editors but at the moment, I highly recommend Visual Studio Code. It has so many built-in features it's honestly the only thing you may need.Don't forget to install Notepad++ as well - this very basic editor is so handy when you just quickly need to edit some files.

File archiving: WinRar, 7-Zip - You need some way of archiving projects and send it to your customer or employer. These are basic tools anyone should use. I personally use Winrar.

FTP (File Transfer Protocol): FileZilla - This tool will allow you to connect to your website's file manager and upload your files to it. There are many tools for connecting to an FTP server but this is the most popular one, it's simple and it works great.

VPS (Virtual Private Server): Amazon Web Services, Google Cloud - If you want to practice building web applications or want to host your own website as a fun project, it's great to use a VPS for that. Both Amazon and Google offers 365 days of free VPS usage. All you need is a credit card. However, they will not charge you, as long as you stay below the free tier limit. A VPS is basically a remote computer that you can connect to. I highly recommend that, if you have a slow internet connection. Those VPS-servers (by Amazon and Google) usually have 500mbit/s internet speed, which is faster than most countries in the world. You simply connect to them via Remote Desktop, or by SSH. Depending on what type of server you are using (Windows or Linux).

SSH (Secure Shell): Solar-PuTTY, PuTTY - If you for example have a web server where you store applications and files, a great way to connect to it is by using SSH. PuTTY is pretty much the standard when it comes to SSH clients. But I really love the version created by SolarWinds. When you download that one, do not enter your personal details. Their sales people will call you and haunt you! Haha.

File Searching: Agent Ransack - When you have many files and try to locate a specific document or file, you may want to use something like Agent Ransack. Much faster than the traditional search feature in Windows and it is much more accurate.

IDE / Code Editor: Visual Studio - Great tool to use when you want to create applications in C# for example. Do not confuse this with Visual Studio Code. These are two very different tools. This tool (Visual Studio) is more designed for Windows applications. Not just websites. I only recommend getting it if you plan to make programs for Windows.

Web host & domain: NameCheap, Epik, SiteGround - If you develop websites on your own, or maybe want to create a portfolio website, you will need a domain name and web hosting. I have personally used all of these 3 and they are very cheap. NameCheap has some of the cheapest domains and great web hosting for a low price. Their support is also great. Same with SiteGround. And if you want to buy a domain anonymously (with Bitcoin for example), then you can use Epik. Low prices and great customer service on all these 3 websites.

Web Server: XAMPP, Nginx - If you plan to practice PHP, you will need to have a web server on your local computer. If you have Windows, I would highly recommend installing XAMPP (Apache). It is very easy to use for beginners. If you're on Linux, I would recommend Nginx. Also check our PhpMyAdmin if you want to quickly setup a MySQL database locally.Bonus tip: If you use Visual Studio Code to create websites in HTML, CSS and JavaScript: then install the extension "live server" and you can run your applications on a live server without setting it up yourself. Tutorial: https://www.youtube.com/watch?v=WzE0yqwbdgU

Web Browser: Mozilla Firefox, Microsoft Edge Insider, Google Chrome - You need one of the latest web browsers to create websites these days. Since I prefer privacy over functionality, I've always loved Firefox. But recently, Microsoft has been improving its new version of Edge a lot (based on Chromium) and it's also very popular. If you want all your personal details to be saved and have good tools for web development, then use Google Chrome. Don't forget to utilize the built-in developer tools. You can access it in any of these browsers by pressing F12.



Other things you may want to look into:

Web services, SSL certificates, Search Engine Optimization, Databases, API, Algorithms, Data Structures



Part 3: Learning platforms

https://www.youtube.com/

https://www.w3schools.com/

https://leetcode.com/

https://stackoverflow.com/



If you want to learn in-depth about algorithms, data structures and more. Then you can take a look at the curriculum of the top-tier universities of USA. Such as: UC Berkeley, Harvard and MIT. These courses are very hard and are specifically for people who want to become experts in software engineering. You can enroll some of them for free, like the one on Harvard. And by having a such diploma (which costs $90 extra) can get you a lot of job opportunities. You can enroll those courses if you want, but it can have a fee. But just take a look at what they are studying and try do their exercises, that is 100% free. Get the knowledge. It's mostly on video too! These course below are the very same courses that many of the engineers at Facebook, Google, Amazon, Apple, Netflix, Uber, AirBnb, Twitter, LinkedIn, Microsoft, etc. has taken. It's what majority of people in Silicon Valley studied. And it's among the best classes that you can take. These course are held by some of the world's best professors in IT.



UC Berkeley: CS 61a & CS 61b:

https://inst.eecs.berkeley.edu/~cs61a/fa19/

Video playlist here: https://www.youtube.com/watch?v=0_LryzvBxFw&list=PL6BsET-8jgYVAaK0jGVTWr9R5g7kSMQ8i

https://inst.eecs.berkeley.edu/~cs61b/fa19/

Videos: https://www.youtube.com/channel/UCNBSbBTFx8nFahcQyZOYOgQ



Harvard University: CS50 (free enrollment --- 90$ to get a certificate).

https://online-learning.harvard.edu/course/cs50-introduction-computer-science



MIT (Massachusetts Institute of Technology): 6.006

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/

Held by Erik Demaine. One of the best - if not THE best - professor at MIT. Just look at this resume. It's almost 50 pages long! https://erikdemaine.org/cv.pdf



Part 4: Finding jobs

https://www.linkedin.com/

https://marketing.hackerrank.com/

https://www.glassdoor.com/index.htm

Facebook groups for web developers, freelancing, remote work, etc.

Portfolio / Code Sharing / Source Control:

https://github.com/



Part 5: Other types of jobs you can work with (remotely) - with/without coding experience

SEO (Search Engine Optimization)

Translations (Spanish/Portuguese, etc.)

Affiliate Marketing (look into Clickbank.com - and use Facebook Ads to promote products)

Design (web design, photo design, etc.)

Copywriting (write sales letters for companies)

Database manager (monitor and administrate a company's database)

YouTube - make YouTube videos to gain views. Views = Money.

Dropshipping (use Shopify.com for example) and sell products in a webshop. Benefit with dropshipping is that you don't personally store the products.

Customer support

more...? Banking, economics, etc.



You can find information about all of the things I have mentioned by using YouTube or Google search.

Hope it helps.



And I hope that in 1 year, there will be at least some new web developers in Brazil, Venezuela and other countries in South America.
submitted by jesuskater to memezuela [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]

Blockchain in the Public Sector – Webcast Q&A

Blockchain in the Public Sector – Webcast Q&A
Link to our website: https://block.co/blockchain-in-the-public-sector-webcast-qa/
Block.co fourth webcast titled "Digital Transformation of the Public Sector & The Upcoming Legislation of Blockchain Technology in Cyprus” was an immense success. We gathered some of the best experts in the field, Deputy Minister Kyriacos Kokkinos, Jeff Bandman, Steve Tendon, and Christiana Aristidou to share their experience and discuss with us the latest updates regarding Blockchain in the Public Sector.
In its fourth series of webcasts, Block.co gathered 281 people watching the event from 41 different countries, for a two-hour webcast where guests answered participants’ questions. Following the impressive outcome and response we received from the audience, Block.co’s team has done its best to address all the questions for which public information is available.
Below is a list of the questions that were made and were not answered due to time constraints during the webcast. For the remaining questions from our audience, the team will reach out to our distinguished guests to receive their comments and feedback. Please note, that the below information is only for informational purposes!
Question 1:
How can asset tracing be accomplished with bitcoins and cryptocurrency? And how can this be regulated?
Block.co Team Answer:
Digital Asset tracing may be accomplished with cryptocurrency intelligence solutions such as Cipher Trace and the ICE cryptocurrency intelligence program. FATF (Financial Action Task Force) embarked on a program of work from summer 2018 to June 2019 to strengthen and update the provisions dealing with virtual assets and virtual asset service providers. FATF updated Recommendations in October 2018 and Guidance in June 2019 include several new obligations that apply to VASPs. The so-called “Travel Rule” FATF announced in October 2019 agreed on the assessment criteria for how it will assess countries’ compliance with the new global standards. Under the Travel Rule, the transmitter’s financial institutions must include and send information in the transmittal order such as Information about the identity, name, address, and account number of the sender and its financial institution Information about the identity, name, address and account number of the recipient. The ”Travel Rule” is effectively being applied to cryptoasset transfers when there is a virtual asset service provider (VASP) involved. The scope of focus has broadened from “convertible” virtual assets to any virtual asset. Countries should make sure businesses can freeze crypto wallet or exchange accounts for sanctioned individuals.
Question 2:
Which kind of software or technical knowledge is required to develop cryptocurrency?
Block.co Team Answer:
It depends on the type of cryptocurrency you wish to create, as well as the preferred functionality and features, and characteristics of the token or coin (i.e. will it be pre-mined, what type of hashing or cryptographic algorithm will be used (i.e. proof of work (POW) or proof of stake (POS) or a hybrid of both), etc. Likewise, it is useful to utilize a programming language that is broadly used and supported by a vast and active development community; more data could be found here: more information could be found here: top programming languages in 2015/2016, published by IEEE here, and TIOBE. Hypothetically, you can utilize any programming language to make cryptocurrency digital money, however, the most widely recognized are C, C++, Java, Python, Perl. The beauty of cryptocurrencies is that you can literally have access to the entire Bitcoin and Ethereum open-source programming scripts, and create your alternate coin (altcoin).
Question 3:
Hello all, I want to know about the current status of the European Union Blockchain initiative in currency or public identity.
Block.co Team Answer:
Please refer to the European Services Blockchain Infrastructure (EBSI) website.
Question 4:
Mining is also the process of confirmation of transactions in the Bitcoin Blockchain. What is the process of confirmation of transactions in the Blockchain of an Organization? How do we call it?
Block.co Team Answer:
That would depend on the specific consensus algorithm used for the confirmation of transactions. The consensus algorithm is part of the blockchain protocol that defines the rules on how consensus is reached on that blockchain. In order to participate, entities on the blockchain must obey and follow the same consensus algorithm. Make sure to check our glossary for more information.
Question 5:
How does a small business implement blockchain into its current non-blockchain software systems? Who do they hire to install it?
Block.co Team Answer:
It is easy when there are APIs to connect the various software. For more information, you can check Block.co API.
Question 6:
What is your opinion on digitizing developing economies like India by using AI and blockchain?
Block.co Team Answer:
Watch a very interesting webinar on the matter by Mr. Prasanna:
Question 7:
Blockchain technologies have been around since 2008. What would you say has been the biggest obstacle in widespread adoption?
Block.co Team Answer:
In our opinion, the biggest obstacles are volatile cryptoasset prices, complicated UIs, undefined blockchain technology standards. Moreover, the legislation around the technologies is still now being developed and does not offer legal certainty for broader adoption.
Question 8:
Limitations to Blockchain Usability in the Public Sector?
Block.co Team Answer:
Blockchain in the Public Sector, like any other innovative concept with big potential, cannot be a solution to every problem. Users and developers are still figuring out technological and managerial challenges. From a technological perspective, some aspects such as platform scalability, validation methods, data standardization, and systems integration must still be addressed. From a managerial point of view, the questions include business model transformation, incentive structure, and transaction scale, and maturity. Read more here.
Question 9:
How can these blockchain initiatives be practical for the African context
Block.co Team Answer:
As long as the internet infrastructure is in place, these blockchain initiatives may have the same benefits for the African region.
Question 10:
What are some compelling use cases you’ve seen lately, and how do they serve to further legitimize blockchain as a solution?
Block.co Team Answer:
You can see the global trends from all around the world when it comes to further legitimization as a solution, with China leading the way. Read more here.
Question 11:
How does digital currency manage the issue of money laundering?
Block.co Team Answer:
Depends under which context you are looking at the term digital currency. A digital currency usually refers to a balance or a record stored in a distributed database, in an electronic computer database, within digital files or a stored-value card. Some examples of digital currencies are cryptocurrencies, virtual currencies, central bank digital currencies (CBDCs), and e-Cash. The Financial Action Task Force (FATF) is an intergovernmental body established in 1989 on the initiative of the G7 to develop policies to fight money laundering. Since 2001 FATF is also looking into terrorism financing. The objectives of FATF are to set standards and promote effective implementation of legal, regulatory and operational measures for combating money laundering, terrorist financing, and other related threats to the integrity of the international financial system. FATF is a “policy-making body” that works to generate the necessary political will to bring about national legislative and regulatory reforms in these areas. FATF monitors progress in implementing its Recommendations through “peer reviews” (“mutual evaluations”) of member countries. It is the global watchdog for anti-money laundering & counter-terrorist finance. In June 2019, it updated its guidance paper for Virtual Assets Service Providers (VASPs) regarding the transfer of digital assets. There was an insertion of a new interpretive note that sets out the application of the FATF Standards to virtual asset activities and service providers. To apply FATF Recommendations, countries should consider virtual assets as “property,” “proceeds,” “funds,” “funds or other assets,” or other “corresponding value.” Countries should apply the relevant measures under the FATF Recommendations to virtual assets and virtual asset service providers (VASPs). Read more about the FATF recommendations here).

https://preview.redd.it/58tt7mt1pld51.png?width=1920&format=png&auto=webp&s=d24811c4864ebf02cb9aacc8d6b877a1fbc3756b
Question 12:
To what extent can blockchain be used to improve the privacy of healthcare?
Block.co team Answer:
Please refer to our previous webcast, blog, and articles for more information.
Question 13:
What is Blockchain technology in Shipping?
Block.co team Answer:
The shipping sector has been in the hold of phony maritime institutes charging exorbitant fees via agents, issuing certificates to candidates who do not have the imperative attendance, or those candidates who just pay the fees for the course and ask for the certificate. In view of these fake accreditations, the possibility exists that someone could be harmed or killed, and we could face any number of potential ecological disasters. Having the option to easily verify the genuine origin of a certificate by an approved maritime center is foremost for shipping companies to fast-track their operation and streamline their labor.
Question 14:
Different uses of blockchain other than cryptocurrency?
Block.co team Answer:
Please refer to our blog and glossary.
Question 15:
Upcoming trends in Blockchain concerning Advertising, Marketing, and Public Relations in the Public and Private sectors.
Block.co Team Answer:
Regarding the application of blockchain technology to media copyrights, please see Block.co use case proposal during the Bloomen Ideathon.

https://preview.redd.it/48zc8j38pld51.png?width=3622&format=png&auto=webp&s=79987d1dc7eb8d0c8e32dbce8680b17801d0d244
Question 16:
How to create a decentralized blockchain?
Block.co Team Answer:
An excessive number of individuals feel that blockchain is some supernatural innovation that makes up a decentralized system. In truth, this innovation only enables decentralization. Which means, it permits cryptocurrency to work in a decentralized way. Yet, it doesn’t give any guarantees that it will work that way. Along these lines, it’s really, some outer variables that decide genuine decentralization. Technology, itself never really guarantees it. That is the reason it’s a mistake to expect that if it’s a blockchain — it’s decentralized. From a technical perspective, both blockchains, centralized, and decentralized are comparative, as they take work on distributed peer to peer to network. This implies every node is individually responsible to verify and store the shared ledger. Both Blockchains utilize either a proof-of-work or proof-of-stake mechanisms to make a solitary record and they have to give upper and lower limits on the security and productivity of the system. For more information please refer to our infographic.
Question 17:
Dubai government Blockchain implementation progress?
Block.co Team Answer:
You can see more information here.
Question 18:
How Blockchain and IoT can be integrated to secure data being transmitted through IoT devices.
Block.co Team Answer:
You can read more about it here.
Question 19:
How can the Nigerian government use Blockchain to effectively implement its existing launched eGovernment master plan?
Block.co Team Answer:
Perhaps it can draw its attention to the initiatives of Dubai, Estonia, and Malta to prepare an implementation framework.
Question 20:
What impact is blockchain going to have in today world of business especially in the financial sector
Block.co Team Answer:
Please refer to our recent article titled Benefits of Blockchain Technology in the Banking Industry.
Question 21:
Is Blockchain Technology affect individuals?
Block.co Team Answer:
The social effect of blockchain innovation has just started to be acknowledged and this may simply be a hint of something larger. Cryptocurrencies have raised questions over financial services through digital wallets, and while considering that there are in excess of 3,5 billion individuals on the planet today without access to banking, such a move is surely impactful. Maybe the move for cryptocurrencies will be simpler for developing nations than the process of fiat cash and credit cards. It is like the transformation that developing nations had with mobile phones. It was simpler to acquire mass amounts of mobile phones than to supply another infrastructure for landlines telephones. In addition to giving the underprivileged access to banking services, greater transparency could also raise the profile and effectiveness of charities working in developing countries that fall under corrupt or manipulative governments.
An expanded degree of trust in where the cash goes and whose advantages would without a doubt lead to expanded commitments and backing for the poor in parts of the world that are in urgent need of help. Blockchain technology is well placed to remove the possibility of vote-apparatus and the entirety of different negatives related to the current democratic procedure. Obviously, with new innovation, there are new obstacles and issues that will arise, yet the cycle goes on and those new issues will be comprehended with progressively modern arrangements. A decentralized record would give the entirety of the fundamental information to precisely record votes on an anonymous basis, and check the exactness and whether there had been any manipulation of the voting procedure.
Question 22:
As Andreas Antonopoulos often says in his MOOC: ”is a blockchain even needed?” Ie. Are there better methods?
Block.co Team Answer:
In combination with nascent technologies, IoT, distributed computing, and distributed ledger technologies, governments can provide inventive services and answers for the citizens and local municipalities. Blockchain can provide the component to create a safe framework to deal with these functions. In particular, it can provide a safe interoperable infrastructure that permits all smart city services and capacities to work past presently imagined levels. On the off chance that there were better techniques, they would be researched.
Question 23:
Would any of this be also applicable to the educational sector (as part of the general public sector), and if so in which way?
Block.co Team Answer:
Yes, please refer to our Webcast on Education and our blog post.
Question 24:
Will we be able to get a hold of this recording upon completion of the meeting?
Block.co Team Answer:
Yes, here is a link to the recording of our webcast Blockchain in the Public Sector.
Question 25:
Was wondering if there are any existing universal framework in governing the blockchain technology?
Block.co Team Answer:
The short answer is NO, as this framework is currently being prepared in collaboration with the various Member States.
We would like to thank everyone for attending our webcast and hoping to interact with you in future webinars. If you would like to watch the webinar again, then click here!
For more info, contact Block.co directly or email at [[email protected]](mailto:[email protected]).
Tel +357 70007828
Get the latest from Block.co, like and follow us on social media:
✔️Facebook
✔️LinkedIn
✔️Twitter
✔️YouTube
✔️Medium
✔️Instagram
✔️Telegram
✔️Reddit
✔️GitHub
submitted by BlockDotCo to u/BlockDotCo [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]

2.3 Common API explanations

Summary

When it comes to programming, it must be inseparable from the API. For many non-programmer people, what is the API? In this section we will use the easiest language to explain what is the API, and introduce the APIs commonly used in the FMZ Quant tools.

What is API?

If you google it, you will get the following results: API (Application Programming Interface) is a predefined function to provide applications and developers with the ability to access a set of routines based on a piece of software or hardware. Without having to access the source code, or understand the details of the internal working mechanism.
In fact, in daily life, we have a lot of similar API scenarios, such as: you go to a restaurant to eat, just look at the menu to order, you do not need to know how to make it. The menu name in the menu is the specific API, and the menu is the API document.

What is the API in the quantitative trading?

For example, If you need to get the opening price of the current variety today, you don't need to know exactly how to get it. You only need to write "OPEN" in the code editor, just use it directly, "OPEN" is the API for the opening price in the M language.

Common M language API

Before we talk about the M language API, let's first look at the common code structure and what features it has. This will help you better understand the API. Please see the following example:
12
AA:=OPEN; //Get the opening price of the latest k line and assign the result to the variable AA BB:=MA(ClOSE,10); //Get the 10-cycle moving average of the latest K line and assign the result to the variable BB 
The code shown above:
With the basic code structure awareness, we will bring you some common grammar of M languages ​​below, and we will use them in the future.
Example: AA:=OPEN; Get the opening price of the latest K line and assign the result to AA
Example: AA:=HIGH; Get the highest price of the latest K line and assign the result to AA
Example: AA:=LOW; Get the lowest price of the latest K line and assign the result to AA
Example: AA:=CLOSE; Get the closing price of the latest K line and assign the result to AA
Example: AA:=VOL; Get the volume of the latest K line and assign the result to AA
Example: REF(CLOSE,1); Get the opening price of the pervious K line
Example: MA(CLOSE, 10); //Get the 10-cycle moving average of the latest K-line
Example: CROSSUP (CLOSE, MA (C, 10)) // closing price up-cross the 10 cycle moving average price
Example: CROSSDOWN(CLOSE, MA(C,10)) // closing price down-cross the 10 cycle moving average price
Example: CLOSE>MA(CLOSE,5), BK; // Closing price is greater than 5 cycle moving average, open long position
Example: CLOSE Example: CLOSE
  • BP - buy to cover to close short position
Example: CLOSE>MA(CLOSE,5), BP; // Closing price is greater than 5 cycle moving average, close short position
  • BPK - close short position and open long positions (reverse open position)
Example: CLOSE>MA(CLOSE,5), BPK; // when the closing price is greater than the 5-period moving average, close the short position and open the long position.
  • SPK - close long position and open short position (reverse open position)
Example: CLOSE
  • CLOSEOUT - close all positions, it is recommended to use in the addition and subtraction position operation
Example: CLOSEOUT; close all positions that current holding.

Commonly used JavaScript language API

Before explaining the JavaScript language API, let's take a look at what the common code structure is and what features it has. This will help you better understand the API. Please see the following example:
12
var aa = exchange.GetRecords(); // get the K-line data var bb = exchange.SetContractType("BTC_USDT") // set the trading pair to Bitcoin to USDT 
The code shown above:
  • Creating variables in the JavaScript language is often referred to as a "declaration" variable. we use the "var" keyword to declare the variable, the variable name is : "aa".
  • In the JavaScript language, assign an equal sign, that is, give the value on the right side of "=" to the variable on the left.
  • The code "exchange" is the exchange object. The exchange here refers to the exchange you set up on platform page. This is a fixed format, that is, you must specify the exchange object when you call the API of the JavaScript language.
  • The green code is the API of the JavaScript language. When we call it, it is actually calling the function in the exchange object. Note that the point behind the code is also a fixed format. The function here is the same meaning of the function we learned in middle school. If the function does not need to specify a parameter, it is represented by an empty parenthesis; if the function must pass in a parameter, the parameter is written in parentheses.
After using the case to understand the basic structure of the code, let's take a look at a few JavaScript language APIs that you will use in the future.
  • SetContractType ( "variety code" ) - set the trading pair, which is the trading variety that you want to trade
Example: exchange.SetContractType("BTC_USDT"); //Set the trading pair to Bitcoin to USDT
  • GetTicker - Get Tick data
Example: exchange.GetTicker(); //Get Tick data
  • GetRecords - get K line data
Example: exchange.GetRecords(); //Get K line data
  • Buy - buy long
Example: exchange.Buy(5000, 1); //Buy one unit at 5,000
  • Sell ​​- sell short
Example: exchange.Sell (5000, 1); // Sell one unit at 5,000
  • GetAccount - get account information
Example: exchange.GetAccount(); //Get account information
  • GetPosition - Get position information
Example: exchange.GetPosition(); //Get position information
  • SetDirection - set to do long or short order type
example:
exchange.SetDirection("buy"); //Set the order type to open long positions
exchange.SetDirection("closebuy"); //Set the order type to sell to close long positions
exchange.SetDirection("sell"); //Set the order type to open short positions
exchange.SetDirection("closesell"); //Set the order type to buy to cover to close short position
  • Log - output a message in the log
Example: Log( "hello, World" ); //output " hello world " in the log
  • Sleep - pause the program for a while
Example: Sleep (1000); / / make the program pause for 1 second (1000 milliseconds equals 1 second)
Some people may have doubts, so many APIs above, how can i memorize it all? actually, you don't need to remember any one of them, FMZ Quant official website has a detailed API documentation. Just like looking up a dictionary, anytime you use it, you only need check it through our documentation. Don't be scared by the coding part. What we want is to organize our own strategies through these languages. Please remember that technology is never a threshold for quantitative trading. The excellent trading strategy is the most important of all.

To sum up

The above is the most commonly used API in quantitative trading, basically including: obtaining data, calculating data, placing orders. These steps should be enough to deal with a simple quantitative trading strategy. futhermore, if you want to write a more complex strategy, you need go to the FMZ Quant website to get it.

After-school exercises

1, try to write a M language 5 cycle average line up-cross 10 cycle moving average line sentence.
2, try to use the JavaScript language "GetAccount" to get your account information, and use "Log" to print it to the log.

Next section notice

Programming is like assembling LEGO bricks. The API is like the various parts of a building block. The programming process is to make each Lego part a complete toy. In the next section, I will lead you to assemble a complete quantitative trading strategy using the M language API.
submitted by FmzQuant to CryptoCurrencyTrading [link] [comments]

Marchero

With two cryptocurrency integrations under my belt I've set out with a solid plan for Monero.
Instead of jumping in and figuring it out as I go along I want to make sure that I have the solutions I'll need, well defined and scoped out. It's a good thing I'm going this path, too.
Turns out that there isn't really much in the way of JavaScript code for Monero out there. Probably the two best (and possibly only), solutions at the moment are monero-javascript and MyMonero.
Although there's no official Monero JavaScript library, the monero-javascript project is probably the closest to the original C++ client. This derived code comes in the form of WebAssembly, a low-level language that runs a lot closer to the metal than JavaScript. This means that WebAssembly is generally faster when doing things like calculations, but with some trade-offs like ease of use. JavaScript is a lot easier to code and understand, but it tends to run slower. In modern browsers, both run side by side so developers can decide which parts need to work fast, and which parts need to be easier to change and maintain.
The MyMonero project is actually a set of supporting libraries for a Monero wallet. It seems to have a lot more "real world" mileage but has a smaller dev team and hasn't been updated for many months, unlike monero-javascript which was updated as recently as today. MyMonero also uses WebAssembly for some of the core wallet functionality but the "bindings", or how this functionality is exposed to JavaScript, are different.
Between the two solutions, I've had more luck in getting support for monero-javascript. Neither project is well documented so having someone to run questions by is, at least at this point, a winning feature.
This will be my first time working with WebAssembly so factoring in some learning time is prudent. I'll only be learning to use existing code rather than learning how to write it but still, it's a new thing for me.
As I mentioned, support for Monero via JavaScript is surprisingly rare, so I may end up contributing some original code back to the project(s) I'll be using. I haven't yet decided which of them will find its way into CypherPoker.JS because there are still some open questions about how certain things are done and if they're even possible. However, right now monero-javascript is looking like the best choice.
Once I'm satisfied that all the building blocks are viable, I'll add the cryptocurrency handler and integrate it all the way through to the front end. As with BTC and BCH, a Monero testnet option will be available along with a faucet so that you can test it out without using any actual XMR. A full client option that uses the downloadable monerod client, the equivalent of a full Bitcoin node, will be available alongside the "light" option which will use external APIs. After that I'll upgrade the live demo (and server), update the wallet generator, post v0.5.2 code documentation, create a new release, and write a wrap-up post.
I want to stress again that this is all contingent on whether or not the JavaScript libraries actually do what I need them to do, and if there exists at least one public API that can be used in place of the daemon (monerod). But based on the help I've received from the Monero community so far I'm feeling optimistic.
Probably the most interesting thing about the Monero integration is that it represents the final, Rumsfeldian, "known unknown" of the CypherPoker.JS project. It's the last thing I'm embarking on with essentially zero prior knowledge; I know that I know nothing.
The rest of the project, the other cryptocurrencies, smart contracts, peer-to-peer communications - those are all things I'd at least had an introduction to if not outright practical knowledge of. When it comes time to add Ethereum support I'll be able to confidently say that it's nothing new. Incorporating Tor anonymization ... been there, done that.
When it comes to Monero, though, I'm a wide-eyed ignoramus. Never owned any XMR, never ran a Monero wallet, never tried out a Monero block explorer; seems I'm even getting some of the technical terminology wrong. Basically, it's the last part of the project's core vision that comes with a steep learning curve and a not-insignificant chance of failure. I mean, I don't think I'm gonna fail but I can't point to any definitive reason why I should think that.
There's no pragmatic reason to believe that March and (the) Monero (integration) will be contemporaneous but then again, why not?
submitted by monican_agent to cypherpoker [link] [comments]

PHP Script Casino Management System Online Casino Full Feature

[ Removed by reddit in response to a copyright notice. ]
submitted by Champion01 to u/Champion01 [link] [comments]

Temporal Price Drop: IPFS Storage That's Cheaper Than Digital Ocean Block Storage ($0.07/gb) 🚀

Hey /ipfs! As of last night a new update was deployed for Temporal that reduced storage pricing to $0.07/gb, which is cheaper than Digital Ocean block storage!
We've got quite a lot of different tools that you can use, which when combined with the cheap pricing make Temporal the cheapest and full-featured "IPFS As A Service" platforms 🔥
Things you can do with the API:
We also have some experimental features in our development environment that you can try out for free!
There's also a few tools that you can use to make integration with Temporal easier:
We also have two public facing gateways:
We also support the following payment methods:
We've got in-depth documentation at https://gateway.temporal.cloud/ipns/docs.api.temporal.cloud, or you can view it across any gateway with /ipns/docs.api.temporal.cloud
Temporal is primarily API driven, and that is the recommended way of using Temporal. Alternatively we offer a web interface.
The api resides at https://api.temporal.cloud with details on using it in the previously mentioned documentation. Alternatively the web interface resides at https://temporal.cloud.
We also have a public chat room via Telegram and have a pretty helpful team that should be able to answer any questions you might have. To top it off, Temporal, our search engine, and private network management tools as well as a bunch of other useful repositories are open-source and available on github
We also have a few experimental services to look forward to:
If anyone has any questions about this post I'd be happy to answer them.
submitted by post_a_bles to ipfs [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]

HowTo Send a Bitcoin Transaction with JavaScript & Bitcore ... Java Tutorial: Using Java API Documentation - YouTube Bitcoin NodeJS Part 1 - Hello World How to find and read API documentation - YouTube Using the Java API documentation

Some API calls are available with CORS headers if you add a &cors=true paramter to the GET request . URL: https://blockchain.info/ticker No Parameters. Returns a JSON object with the currency codes as keys. "15m" is the 15 minutes delayed market price, "last" is the most recent market price, "symbol" is the currency symbol. The response of this API call will return an array of data with information the user will need to complete their checkout. A sample user flow for the checkout might look like this: User confirms their cart contents and currency for payment, clicking a "Proceed to checkout" button that triggers the "create_transaction" API call. Blockchain Data API. Query JSON data on blocks and transactions. Almost all the data you see on this website is available in JSON format. View Documentation. Simple Query API. Simple plain text API for querying blockchain data. View Documentation. Websockets. Low latency streaming socket channel providing data on new blocks and transactions. Blockchain Bitcoin Developer APIs - Java. Contribute to blockchain/api-v1-client-java development by creating an account on GitHub. The bitcoinj library is a Java implementation of the Bitcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Bitcoin Core. It comes with full documentation and some example apps showing how to use it. Technologies. Java 7+ and Gradle 4.4+ for the core module

[index] [7998] [7336] [13598] [11801] [23261] [23756] [31033] [14956] [23266] [33813]

HowTo Send a Bitcoin Transaction with JavaScript & Bitcore ...

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. How to set up blockchain.info wallet service API. Blockchain Wallet API V2 My Book: https://www.amazon.com/Building-Bitcoin-Websites-Beginners-Development/dp... Bitcoin Trading API from Bitcoin.com ----- Hi, Today I will Show you How to integrate the bitcoin trad... This is a quick overview for new programmers on how to find and read API documentation. Bitcoin NodeJS Tutorial. Intro to NodeJS including installation, creating a basic http server, and fetching the current bitcoin price.

#