Git Product home page Git Product logo

mastercore's Introduction

Master Core (Beta) integration/staging tree

What is the Master Protocol

The Master Protocol is a communications protocol that uses the Bitcoin block chain to enable features such as smart contracts, user currencies and decentralized peer-to-peer exchanges. A common analogy that is used to describe the relation of the Master Protocol to Bitcoin is that of HTTP to TCP/IP: HTTP, like the Master Protocol, is the application layer to the more fundamental transport and internet layer of TCP/IP, like Bitcoin.

http://www.mastercoin.org

What is Master Core

Master Core is a fast, portable Master Protocol implementation that is based off the Bitcoin Core codebase (currently 0.9.1). This implementation requires no external dependencies extraneous to Bitcoin Core, and is native to the Bitcoin network just like other Bitcoin nodes. It currently has two modes, in its wallet form it will be seamlessly available on 3 platforms: Windows, Linux & Mac OS, and its node form exposes Master Protocol extensions via JSON-RPC. Development has been consolidated on the Master Core product, and once officially released it will become the reference client for the Master Protocol.

Disclaimer, Warning

This software is EXPERIMENTAL software for TESTNET TRANSACTIONS only. USE ON MAINNET AT YOUR OWN RISK.

The protocol and transaction processing rules for Mastercoin are still under active development and are subject to change in future.

Master Core should be considered an alpha-level product, and you use it at your own risk. Neither the Mastercoin Foundation nor the Master Core developers assumes any responsibility for funds misplaced, mishandled, lost, or misallocated.

Further, please note that this particular installation of Master Core should be viewed as experimental. Your wallet data may be lost, deleted, or corrupted, with or without warning due to bugs or glitches. Please take caution.

This software is provided open-source at no cost. You are responsible for knowing the law in your country and determining if your use of this software contravenes any local laws.

You all know, BUT: DO NOT use wallet(s) with significant amount of any currency while working!

Testnet

  1. To run Master Core in testnet mode, run mastercore with the following option in place: -testnet.
  2. To receive MSC (and TMSC) on TestNet please send TBTC to moneyqMan7uh8FqdCA2BV5yZ8qVrc9ikLP. For each 1 TBTC you will receive 100 MSC & 100 TMSC.

All functions in this mode will be TESTNET-ONLY (eg. send_MP).

Upgrading

After upgrading your version of Mastercore, while Mastercore is shut down, remove (rm -rf) all directories that are prefixed with 'MP_' within ~/.bitcoin (or your data dir)

Dependencies

Boost >= 1.53

Installation

NOTE: This will only build on Ubuntu Linux for now.

You will need appropriate libraries to run Mastercore on Unix, please see doc/build-unix.md for the full listing.

You will need to install git & pkg-config.

sudo apt-get install git
sudo apt-get install pkg-config

Clone the Mastercore repo.

 git clone https://github.com/mastercoin-MSC/mastercore.git
 cd mastercore/

Then, run

./autogen.sh
./configure
make

Once complete

cd src/

and start Mastercore using ./bitcoind. The inital parse step for a first time run will take approximately 10-15 minutes, during this time your client will scan the blockchain for Master Protocol transactions. You can view the output of the parsing at any time by viewing the log located in your datadir, usually: ~/.bitcoin/mastercore.log.

If a message is returned asking you to reindex, pass the -reindex flag to bitcoind. The reindexing process can take serveral hours.

Note: to issue RPC commands to Mastercore you may add the 'server' CLI flag to the bitcoin.conf file (located in ~/.bitcoin/ by default).

In bitcoin.conf:

server=1

After this step completes, check that the installation went smoothly by issuing the following command ./bitcoind getinfo which should return the 'mastercore version' as well as some additional information related to the Bitcoin Network.

NOTE: This release of Mastercore does not contain a UI, please do not try to compile/use 'bitcoinqt' for Master Protocol functionality. The full documentation for the command-line is located in doc/apidocumentation.md.

Current Featureset:

  • Broadcasting of simple send (tx0), and send to owners (tx3) [doc] (doc/apidocumentation.md#broadcasting-a-simple-send-transaction)

  • Obtaining a Master Protocol balance [doc] (doc/apidocumentation.md#obtaining-a-master-protocol-balance)

  • Obtaining all MP (including Smart property) balances for an address [doc] (doc/apidocumentation.md#obtaining-all-master-protocol-balances-for-an-address)

  • Obtaining all balances for a specific Smart property ID [doc] (doc/apidocumentation.md#obtaining-all-master-protocol-balances-for-a-property-id)

  • Retrieving information about any Master Protocol Transaction [doc] (doc/apidocumentation.md#retrieving-a-master-protocol-transaction)

  • Listing historical transactions of addresses in the wallet [doc] (doc/apidocumentation.md#listing-historical-transactions)

  • Retreiving MP information about a Smart Property [doc] (doc/apidocumentation.md#retrieving-information-about-a-master-protocol-property)

  • Retreiving active and expired crowdsale information [doc] (doc/apidocumentation.md#retrieving-information-for-a-master-protocol-crowdsale)

  • Additional referenceamount in send_MP

Pending additions:

  • Fully functional UI

  • MetaDex support

  • Dex support ( making offer, making accept, making payment)

  • Crowdsales ( issuing SP, fundraisers, changing currency, closing fundraisers)

  • gettransaction_MP output should include matched sell offer txid

Support:

mastercore's People

Contributors

celil-kj avatar codeshark avatar codler avatar cozz avatar dexx7 avatar dooglus avatar fanquake avatar freewil avatar gavinandresen avatar gmaxwell avatar jonasschnelli avatar jordanlewis avatar joshtriplett avatar khan-faiz avatar laanwj avatar luke-jr avatar m21 avatar muggenhor avatar non-github-bitcoin avatar petertodd avatar rebroad avatar roques avatar sipa avatar super3 avatar thebluematt avatar theuni avatar wanderingbort avatar wizeman avatar wtogami avatar zathras-crypto avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.