Project

Developers can create a new project, open projects and check all the local and remote projects in the upper left corner “Project” panel.

Create Project

Click “Create Project” and create a new project in either local or cloud under account. The created projects will show in both desktop and web clients in real-time. Creating a project and editing it can be done solely in the Ethereum Studio without other development tools like Visual Studio Code.

Pr-1

In “Create a New Project” panel, developers input the “Project name”, while the “Project location” will be automatically generated a document path following “C:\Users\Administrator\Ethereum Studio” in Windows.

Pr-2

Developers can change the path to any other documents. Click the “Choose” button on the left of the default path, and one will see all documents in the whole computer and choose another existing document or create a new document as the new project location. Be careful that the new project location must be an empty file.

Pr-3

Frameworks

Developers can choose 4 different frameworks: Truffle, Hardhat, Waffle and Dockerized Truffle. The detail information about those frameworks can be checked in “Supported Frameworks” under “Reference” of this doucument.

Template

In “Template”, there are several different templates including “Empty”, “Coin”, “ERC20”, “Basic” and “Metacoin”.

In “Empty Project” template, there is a default empty project with contracts “Main.sol”. The only “Main.sol” contract has no content. This template is a minimum viable product to build smart contracts from scratch.

Pr-4

In “Coin” template, there is a default empty project with contracts “Coin.sol”. This template is a primary contract with variables and functions that could help developers build coin-related contracts. Please remember that a definition of coin functions creates this contract and it does not follow any ERC standards.

Pr-5

In “ERC20 token” template, there is an ERC20 standard token project including “ERC20.sol”. The “ERC20.sol” contract has all functions the ERC20 standard required. There are also “IERC20” interface. Using the interface would reduce work of setting parameters and provide reliable third-party essential functions for developers to call. This template and generates ERC20 standard related contracts and interfaces locally.

Pr-6

In “Basics - ERC20, ERC721 & ERC1155(v3.1+)” template, there are three ERC standard contracts including “GLDToken.sol”, “GameItem.sol” and “GameItems.sol”. Those three smart contracts inherited ERC20, ERC721 and ERC1155 standards respectively. All three projects import ERC standards through Open Zeppelin and realized only constructor function with basic parameters. Developers can use those smart contracts to understand how the ERC20 tokens and ERC721 and ERC1155 NFTs are minted. The “Basic OpenZeppline Template” will use interfaces online and developers only need to import ERC standard contracts through code.

Pr-7

In “Metacoin” template, there is a default framework “Dockerized Truffle” including “ConvertLib.sol”, “MetaCoin.sol” and “Migrations.sol”. In this project, developers choose “Dockerized Truffle” since ???

Pr-8

npm Clients

npm(Node Package Manager) stems from when npm first was created as a package manager for Node.js. All npm packages are defined in files called package.json. The content of package.json must be written in JSON. At least two fields must be present in the definition file: name and version.

cnpm is faster than npm in China, because Taobao first requests the contents of foreign servers to its own domestic servers, so when we use cnpm, the download depends on downloading from domestic servers, which is much faster. It has a complete image of npmjs.org. At present, the synchronization frequency is once every 10 minutes to ensure that it is synchronized with the official service as much as possible.

yarn offers offline mode. If developers have installed a package before, developers can install it again without any Internet connection. Yarn has a lock file that records the exact version number of the installed module. Each time a file is added, yarn will create (or update) the yarn.lock file to ensure that the module version is the same each time the dependency is installed. Yarn reduce the different versions of dependent packages to a single version to avoid creating multiple copies.

Open Project

Click “Open Project”, one can check the location of the current project or open an existed project in the system.

Pr-9

Pr-10

Local Projects and Cloud Projects

In the “Local Projects” and “Remote Projects” of the “File” panel, the user can see all the projects in local computer and cloud under one’s account. Developers can quickly switch to another project through panel that is helpful for muti-project developers.

Pr-11

Delete Project

Right click the name of any project in the panel, developers can chose “Remove” and the project is deleted immediately. Be careful since the deleted project can not be restored from “Trash Can” on the desktop.

Pr-12