Skip to content

MagicDataDev/MagicData-Chain

Repository files navigation



MagicData-Chain

What's MDC?

With the further development of technology and the awakening of user awareness, privacy protection is gaining more and moreattention. As collectors and analysts of big data, it is necessary to strictly abide by relevant laws and regulations and fully consider user rights and social influences.

MagicData (Magic Data) Chain is committed to solving the dilemma of privacy and convenience , MDC project to block chain well chain technology as the foundation, will be distributed edge computing, intelligent contracts, deduplication and other storage encryption technology integration, well-designed financial load Mathematical model, software and hardware combination to provide users with the most secure and reliable, data storage, use, financing and otherservices .

In traditional networks, user data is collected directly by the centralization organization and used for commercial purposes. This collection is sometimes authorized by the user, but currently more is collected and used without the user's knowledge.

MDC team by building a distributed storage, tamper-proof and absolutely safe data link network of public , private users to key the EU data entirely in their own hands, no one else can privately view , can achieve secure storage of user data , calculation, transmission.

In the MDC network, any data that can be collected is authorized by the user and cannot be tampered with on the blockchain, which greatly improves the authenticity of the data. On the one hand, the data provided by the user indicates that the user does have strong subjective requirements. These data are more accurate and accurate for precision marketing. On the other hand, the characteristics of the blockchain ensure that the data cannot be tampered, greatly reducing the possibility of data fraud. Sexuality makes the data more informative.

In addition, users can also by private key to data licensed to companies, to provide users with personalized service; and the traditional network is different, this part of the revenue generated data, it will be returned to the user.

The MDC network feeds back the benefits generated by user data to the user, not only the recognition of the value of the user's data, but also greatly enhances the sustainability of the connection with the user. The user will regain control over his or her own data and the value of the data, becoming the true owner of his data.

The MDC network allows the value of data to return to users, and establishes an equal, healthy and sustainable relationship with users, which not only benefits users, but also contributes to the long-term development of the MDC network itself and the realization of the vision of MDC to build a new economy . We hope , users can self- determine their every click, every photo, every act. We hope that users can decide for themselves whether this data is their own secret or can be used to make the world a better place. We hope that privacy will not be violated, that technology is no longer used to do evil , and that data can generate real value for the owner of the data.

How to Build

Prepare dependencies

  • JDK 1.8
  • On Linux Ubuntu system (e.g. Ubuntu 16.04.4 LTS), ensure that the machine has Oracle JDK 8, instead of having Open JDK 8 in the system.
  • MINIMUM 2 ENERGY Cores

Use Git

In the shell command, type:

git clone https://github.com/MagicDataDev/MagicData-Chain.git
git checkout -t origin/master

Building from source code

  • Build in the Terminal
cd MagicData-Chain
./gradlew build
  • Build in IntelliJ IDEA:

    Please run ./gradlew build once to build the protocol files

    1. Start IntelliJ. Select File -> Open, then locate to the magicdata-chain folder which you have git cloned to your local drive. Then click Open button on the right bottom.
    2. Check on Use auto-import on the Import Project from Gradle dialog. Select JDK 1.8 in the Gradle JVM option. Then click OK.
    3. IntelliJ will open the project and start gradle syncing, which will take several minutes, depending on your network connection and your IntelliJ configuration
    4. Enable Annotations, Preferences -> Search annotations -> check Enable Annotation Processing.
    5. After the syncing finished, select Gradle -> Tasks -> build, and then double click build option.

Running

  • Use the executable JAR
java -jar MdcFullNode.jar -p your private key --witness -c your config.conf
Example:
java -jar MdcFullNode.jar -p 650950B193DDDDB35B6E48912DD28F7AB0E7140C1BFDEFD493348F02295BD812 --witness -c /data/mdc/config.conf
Correct output
14:57:34.258 INFO  [main] [app](FullNode.java:44) Full node running.
14:57:34.607 INFO  [main] [app](Args.java:1218) Bind address wasn't set, Punching to identify it...
14:57:34.613 INFO  [main] [app](Args.java:1221) UDP local bound to: 172.21.0.137
14:57:34.615 INFO  [main] [app](Args.java:1340)

14:57:34.615 INFO  [main] [app](Args.java:1341) ************************ Net config ************************
14:57:34.615 INFO  [main] [app](Args.java:1342) P2P version: 99988
14:57:34.615 INFO  [main] [app](Args.java:1343) Bind IP: 172.21.0.137
14:57:34.615 INFO  [main] [app](Args.java:1344) MAX ACTIVE WITNESS NUM 6
14:57:34.616 INFO  [main] [app](Args.java:1345) External IP: null
14:57:34.616 INFO  [main] [app](Args.java:1346) Listen port: 18888
14:57:34.616 INFO  [main] [app](Args.java:1347) Discover enable: true
14:57:34.616 INFO  [main] [app](Args.java:1348) Active node size: 0
14:57:34.616 INFO  [main] [app](Args.java:1349) Passive node size: 0
14:57:34.616 INFO  [main] [app](Args.java:1350) FastForward node size: 0
14:57:34.616 INFO  [main] [app](Args.java:1351) Seed node size: 1
14:57:34.616 INFO  [main] [app](Args.java:1352) Max connection: 30
14:57:34.616 INFO  [main] [app](Args.java:1353) Max connection with same IP: 2
14:57:34.616 INFO  [main] [app](Args.java:1354) Solidity threads: 8
14:57:34.616 INFO  [main] [app](Args.java:1355) ************************ Backup config ************************
14:57:34.616 INFO  [main] [app](Args.java:1356) Backup listen port: 10001
14:57:34.616 INFO  [main] [app](Args.java:1357) Backup member size: 0
14:57:34.616 INFO  [main] [app](Args.java:1358) Backup priority: 8
14:57:34.617 INFO  [main] [app](Args.java:1359) ************************ Code version *************************
14:57:34.617 INFO  [main] [app](Args.java:1360) Code version : 3.6.1
14:57:34.617 INFO  [main] [app](Args.java:1361) Version name: Lemon-v1.0
14:57:34.617 INFO  [main] [app](Args.java:1362) Version code: 10942
14:57:34.617 INFO  [main] [app](Args.java:1363) ************************ DB config *************************
14:57:34.617 INFO  [main] [app](Args.java:1364) DB version : 2
14:57:34.617 INFO  [main] [app](Args.java:1365) DB engine : LEVELDB
14:57:34.617 INFO  [main] [app](Args.java:1366) ***************************************************************
14:57:34.617 INFO  [main] [app](Args.java:1367)

14:57:34.617 INFO  [main] [app](FullNode.java:58) not in debug mode, it will check energy time
14:57:34.705 INFO  [main] [o.t.c.a.MdcApplicationContext](AbstractApplicationContext.java:573) Refreshing org.mdc.common.application.MdcApplicationContext@7b02881e: startup date [Wed Jan 08 14:57:34 CST 2020]; root of context hierarchy
14:57:35.524 INFO  [main] [o.s.b.f.a.AutowiredAnnotationBeanPostProcessor](AutowiredAnnotationBeanPostProcessor.java:153) JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
14:57:35.693 INFO  [main] [app](DefaultConfig.java:65) key-value data source created.
14:57:36.150 INFO  [main] [DB](DynamicPropertiesStore.java:1575) update latest block header timestamp = 0
14:57:36.150 INFO  [main] [DB](DynamicPropertiesStore.java:1583) update latest block header number = 0
14:57:36.155 INFO  [main] [DB](DynamicPropertiesStore.java:1591) update latest block header id = 00
14:57:36.156 INFO  [main] [DB](DynamicPropertiesStore.java:1596) update state flag = 0
14:57:36.189 INFO  [main] [DB](DynamicPropertiesStore.java:1698) update allow protobuf number = 0
14:57:36.325 INFO  [main] [DB](Manager.java:520) create genesis block
14:57:36.326 INFO  [main] [DB](Manager.java:526) save block: BlockCapsule
  • In IntelliJ IDEA

Open the configuration panel:

In the Program arguments option, fill in --witness:

Then, run FullNode::main() again.

Links

Projects

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •