Giter VIP home page Giter VIP logo

phantasma-ng's Introduction

Phantasma

Decentralized network for smart storage

Contents


Description

Phantasma implements a decentralized content distribution system running on the blockchain, with strong emphasis on privacy and security.

To learn more about Phantasma, please read the White Paper.

Components

Component Description Status Percentage
Chain Core eg: accounts, transactions, blocks In development 95%
Wallet CLI wallet In development 95%
VM Virtual machine to run smart contracts In development 95%
Smart Contracts eg: language features, compilers In development 80%
Economy Tokens / NFT In development 95%
Network P2P communication In development 85%
Consensus Distributed consensus for nodes In development 85%
Scalabilty Side-chains / Channels In development 80%
Relay Off-chain relay In development 60%
Storage Distributed storage In development 90%
API RPC api for nodes In development 90%

Compatibility

Platform Status
.NET Framework Working
.NET Core Working
Unity Working
Xamarin / Mobile Working
C++ Working
Mono Working
UWP Untested

Installation

To install Phantasma SDK to your project, run the following command in the Package Manager Console:

PM> Install-Package Phantasma

Building

To build Phantasma on Windows, you need to download Visual Studio 2017, install the .NET Framework 4.7 Developer Pack and the .NET Core SDK.

If you need to develop on Linux or macOS, just install the .NET Core SDK.

For more information about how to build dApps for Phantasma, please read the documentation.

Debuging

To effectively debug Phantasma.Node, follow the steps outlined below:

  1. Tendermint Executable:

    • To debug Phantasma.Node, it's essential to have the tendermint executable.
    • Download it from this URL: Tendermint v0.34.21 Release.
    • Place the downloaded executable inside the path: /path/to/phantasma-ng/Phantasma.Node/src/bin/Debug/net6.0/tendermintFile.
  2. Configuration Settings:

    • In the config.json file, ensure that you specify the path to the folder mentioned above and the tendermint executable.
    • You can find an example configuration in the Phantasma.Node/src directory.
  3. Reset the Blockchain:

    • Delete the Storage folder.
    • Remove the Storage folder located at /path/to/phantasma-ng/Phantasma.Node/src/bin/Debug/net6.0/.
    • Remove the data folder found inside /path/to/phantasma-ng/Phantasma.Node/src/bin/Debug/net6.0/tendermintFile.
    • Navigate to the DOCKER folder using a terminal and execute the script: ./fix-storage.sh. This will reset the blockchain.
    • An easy way to do the deployment and reset in on step is to run this command: cd DOCKER && ./fix-storage.sh || cd .. && ./testnet-startup.sh.
  4. Edit Necessary Files for Protocol Version:

    • In Phantasma.Business/src/Blockchain/Nexus/Nexus.cs:
      • Update the value of DomainSettings.Phantasma30Protocol to DomainSettings.LatestKnownProtocol at lines 937, 961, and 978.
    • In Phantasma.Node/src/ABCIConnector.cs:
      • Update the value on line 420 from uint version = DomainSettings.Phantasma30Protocol; to uint version = DomainSettings.LatestKnownProtocol;.
  5. Run Node in Editor:

    • If you intend to run the node in an editor like Rider or Visual Studio for debugging purposes:
      • Edit the DOCKER/wrapper-testnet.sh file.
      • Comment out line 28.

Contributing

You can contribute to Phantasma with issues and PRs. Simply filing issues for problems you encounter is a great way to contribute. Contributing implementations is greatly appreciated.

License

MIT License

The Phantasma project is released under the MIT license, see LICENSE.md for more details.

Related Projects

Project Description Status Percentage
Phantasma Wallet Cross platform Phantasma wallet 2 Available 100%
Phantasma Explorer Block explorer for visualizing Phantasma chain data Complete 100%
Phantasma Node Phantasma node deployment In development 90%
Phantasma SDK Software development kit In development 60%
Phantasma Link Browser extensions for interacting with Phantasma dApps Complete - PhantasmaLink 100%
Phantasma Compiler Phantasma smart contract compiler for high-level languages In development 30%
Phantasma Assembler Phantasma smart contract assembler for low-level instructions In development 90%
Nachomen Phantasma-based video game In development 95%

phantasma-ng's People

Contributors

relfos avatar teknopt avatar merl111 avatar bicheichane avatar joaocatarinodev avatar alexmpa avatar brunofreitasgit avatar majordutch avatar simaonovich avatar vincentgeneste avatar kodefuguru avatar mlthelama avatar bpetridis avatar hodgman avatar tritao avatar

Stargazers

 avatar manijeh avatar Jarrian Gojar avatar  avatar bgrock avatar  avatar

Watchers

 avatar James Cloos avatar  avatar  avatar

phantasma-ng's Issues

Test server should not leak server info - possible security risk

Phantasma team should disable.
image

nginx:
server_tokens off;

There is still ways to brute force websites even if they uses CloudFlare

And you can nmap or rustscan server.
This is not by less 30s

I can Imagen if someone want to fish info or break into somehow, will try to attack test machine, and get to live trough that.
image

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.