mobilecoin | Private payments for mobile devices | Blockchain library

 by   mobilecoinfoundation Rust Version: v5.0.5 License: Non-SPDX

kandi X-RAY | mobilecoin Summary

kandi X-RAY | mobilecoin Summary

mobilecoin is a Rust library typically used in Blockchain, Ethereum, Bitcoin applications. mobilecoin has no bugs, it has no vulnerabilities and it has medium support. However mobilecoin has a Non-SPDX License. You can download it from GitHub.

MobileCoin is a payment network with no central authority. The fundamental goal of the network is to safely and efficiently enable the exchange of value, represented as fractional ownership of the total value of the network. Like most cryptocurrencies, MobileCoin maintains a permanent and immutable record of all successfully completed payments in a blockchain data structure. Cryptography is used extensively to establish ownership, control transfers, and to preserve cash-like privacy for users. Here we review a few design concepts that are essential for understanding the software. The MobileCoin blockchain is the source of truth for the allocation of value. It consists of an ordered collection of transaction outputs, organized into blocks. Each transaction output ("txo") has a unique corresponding construction called a key image. Every txo initially appears in the blockchain in a spendable state, as an unspent transaction output or utxo. Every successful payment consumes some utxos as inputs and creates new utxos as outputs. When a utxo is consumed, its corresponding key image is permanently added to the blockchain, ensuring that it can not be spent a second time. The total value of the MobileCoin network is fixed by convention at a sum of 250 million mobilecoins. Each mobilecoin consists of 1012 indivisible parts, each referred to as one picomob. Each utxo represents an integer number of picomob that can be consumed in a valid payment. Ownership of a utxo in the MobileCoin network is equivalent to knowledge of two private keys, called the spend private key and the view private key, that provision control over discovery and transfer of value. Most users will derive these two private key values from a single underlying key we call the root entropy. To receive a payment, a user must calculate the two public key values corresponding to their private keys to share with their counter-party. MobileCoin specifies a standard encoding scheme using a base-58 symbol library for users to safely exchange payment information. For more information on how transactions work, and how they use CrytpoNote-style transactions to preserve privacy of both the sender and receiver, see the transaction crate. To understand the blockchain format and storage, see the ledger_db crate. New transactions must be checked for attempts to counterfeit value before new key images and utxos can be added to the MobileCoin blockchain. Transactions are prepared by the user on their local computer or mobile device, and submitted to a secure enclave running on a validator node of their choice. The validator node checks the transaction and, assuming it believes the transaction is valid, shares it with other nodes in the MobileCoin network. The transaction is passed only to peer secure enclaves that can establish via remote attestation that they are running unmodified MobileCoin software on an authentic Intel processor. Each secure enclave replicates a state machine that adds valid transactions to the ledger in a deterministic order using a consensus algorithm called the MobileCoin Consensus Protocol. The MobileCoin Consensus Protocol is a high-performance solution to the byzantine agreement problem that allows new payments to be rapidly confirmed. The consensus-service target binary uses Intel Software Guard eXtensions (Intel SGX) to provide defense-in-depth improvements to privacy and trust. To learn how MobileCoin uses Intel SGX to provide integrity in Byzantine Fault Tolerant (BFT) consensus as well as forward secrecy to secure your privacy, see the consensus/enclave crate. To build and run consensus, see the consensus/service crate. Full validator nodes additionally use the ledger-distribution target binary to publish a copy of their computed blockchain to content delivery networks (currently to Amazon S3 only). The public blockchain is a zero-knowledge data structure that consists only of utxos, key images and block metadata used to ensure consistency and to construct Merkle proofs. To build and run ledger distribution, see the ledger/distribution crate. Watcher nodes perform an essential role in the MobileCoin network by verifying the signatures that the full validator nodes attach to each block. In this way the watcher nodes continuously monitor the integrity of the decentralized MobileCoin network. A watcher node also maintains a complete local copy of the blockchain and provides an API for wallet or exchange clients. To run a watcher node, build and run the mobilecoind daemon.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              mobilecoin has a medium active ecosystem.
              It has 1120 star(s) with 138 fork(s). There are 71 watchers for this library.
              There were 5 major release(s) in the last 12 months.
              There are 196 open issues and 265 have been closed. On average issues are closed in 88 days. There are 36 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of mobilecoin is v5.0.5

            kandi-Quality Quality

              mobilecoin has no bugs reported.

            kandi-Security Security

              mobilecoin has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              mobilecoin has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              mobilecoin releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of mobilecoin
            Get all kandi verified functions for this library.

            mobilecoin Key Features

            No Key Features are available at this moment for mobilecoin.

            mobilecoin Examples and Code Snippets

            No Code Snippets are available at this moment for mobilecoin.

            Community Discussions

            Trending Discussions on mobilecoin

            QUESTION

            How to send only one Request with HttpURLConnection
            Asked 2020-Feb-20 at 12:42

            I am using the following code to make a request to the server. I called the function once, but the request is being sent twice. The result that I got back from the server is from the second request result.

            How do I only send one request to the server?

            The Class in which I store all my runnables:

            ...

            ANSWER

            Answered 2019-Mar-27 at 02:20

            Why don't you use Retrofit for handle http request easily? If you integrate with RxJava, you can manage your request asynchronous.

            Source https://stackoverflow.com/questions/55368732

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install mobilecoin

            The workspace can be built with cargo build and tested with cargo test. Either command will recognize the cargo --release flag to build with optimizations. Some crates (for example consensus-service) depend on Intel SGX, which adds additional build and runtime requirements. For detailed information about setting up a build environment, how enclaves are built, and on configuring the build, see BUILD.md.

            Support

            For troubleshooting help and other questions, please visit our community forum. You can also open a technical support ticket via email. Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries. MobileCoin is a registered trademark of MobileCoin Inc.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Blockchain Libraries

            bitcoin

            by bitcoin

            go-ethereum

            by ethereum

            lerna

            by lerna

            openzeppelin-contracts

            by OpenZeppelin

            bitcoinbook

            by bitcoinbook

            Try Top Libraries by mobilecoinfoundation

            mc-oblivious

            by mobilecoinfoundationRust

            fog

            by mobilecoinfoundationRust

            sgx

            by mobilecoinfoundationRust

            rust-mbedtls

            by mobilecoinfoundationRust

            compliance

            by mobilecoinfoundationRust