AxLabs / grantshares

GrantShares Program 🌱
https://grantshares.io
Apache License 2.0
21 stars 3 forks source link

A set of NEO Chinese Development Tutorials (JAVA) are created for Chinese community developers #43

Closed grantshares-dapp[bot] closed 1 year ago

grantshares-dapp[bot] commented 1 year ago

Abstract

A set of NEO Chinese Development Tutorials (JAVA) are created for Chinese community developers

Proposal Information

Description

This tutorial is intended for those developers who are about to learn NEO development and yet are at a loss.

It is divided into six parts, including: Blockchain Basics, NeoBlockchain Tools and four practical projects.

Through the study of basic knowledge, learners can have a detailed understanding of the concept and mechanism of Neo Blockchain.

The four projects demonstrated the development of dApps combined with NEP11 and NEP17 contracts.

The entire development process and code are described in detail in the tutorial. The source code will be available on GitHub.

Topics that we want to cover:

1.Blockchain Basics

What is blockchain

Blockchain overview

Neo Basics

2.Setting up Private Chain-Multiple Nodes

3.How to Use Neo-Express

4.How to Use Neo-line

5.Stamp NFT website

Smart Contract -NEP11 development in java

Publish to the TestNet

Dapp development in java

Publish to Test network

6.Shopping mall Website

GAS can be used to purchase goods in shopping malls.

Specifically, the user sends the GAS required for purchasing goods to the contract, which is then temporarily frozen. Upon receiving the satisfactory goods, the user can confirm the payment through the contract and send the frozen GAS to the seller; or the user can get the refund for unsatisfactory purchase.

7.NEP17 Lottery system

Send Tokens and numbers to the contract. If the lottery number is the same as your number, you can get more Tokens

8.Contract-releasing platform

Develop a platform on which new contracts can be generated and published by clicking and entering simple information.

Motivation

1.In China, due to the language barriers, the entry threshold for NEO community developers is high, which blocks out many developers interested in NEO development just because of  their weak English.

2.There are many English development materials that are scattered and difficult to find.

This means that one may not know where to start at first. For example, when a developer tries to start studying how to write a smart contract, they will find that they need to set up a private node. After they have completed the development and need to deploy their contract, they will find that they do not know where to get GAS for the testnet.

3.There is no coherent way for beginners to start from scratch. It takes them a long time to learn about basic concepts before development.

My strength is that I have experienced the process from scratch and know what an ordinary developer is eager to learn, and I also get to know some Chinese users of NEO after a period of learning.

Goals

There are a large number of developers in China. I hope this tutorial will attract more community development teams and enable more people to participate in and understand NEO.

Through development, they can truly understand the meaning of NEO, which also confirms their firm belief in NEO, and works to educate people who want to enter the Blockchain.

It is hoped that a large number of Chinese developers will emerge in the next Hackathon.

Deliverables & Roadmap

All the Deliverables will be submitted to neow3j.cn and neow3j repo in real time.

The whole project is divided into 6 parts

1.Neo Basics

It contains some basic knowledge of blockchain

Deliverables:

2.Build a multi-node private chain and install neocli

Deliverables:

3.Stamp NFT website

Develop a stamp NFT website to publish and make NFT stamps in the system, which can be presented to other users through JAVA and NeoLine, and can query the NFT owned by users.

Deliverables:

4.Shopping mall Website.

GAS can be used to purchase goods in shopping malls.

Deliverables:

5.Lottery system.

Send a lottery number through Token, and get more Tokens if it is the same as the lottery number

Deliverables:

6.Contract-releasing platform

Develop a platform on which new contracts can be generated and published by clicking and entering simple information.

Learn how to trigger multiple contracts through contracts, and how to write NEP11 and NEP17 contract codes.

Deliverables:

Deliverables Verifiability

All the development results will be published in real time on github, and the results will be published

synchronously in all Chinese groups for timely learning and communication.

Budget Plan

A large part of the third deliverable has been completed , whose website has got some views till now. Access address https://jack9684.github.io/neodocs  It took about 20 days to develop the code and compile the tutorial.

The workload of other parts is calculated from this.

For The First Part “Blockchain Basics” you can check it here:

 https://jack9684.github.io/neodocs/#/BlockchainBasics/02-basic-knowledge

About You / Your Organization

Short-Bio

A JAVA software engineer, who has always been concerned about the development of NEO community and is enthusiastic in learning and developing NEO technology.

I have been actively participating in various activities in the community and trying to improve myself for making contributions to the community.

Portfolio of Projects / Past Experience

https://devpost.com/software/student-data-system

https://twitter.com/Neo_Blockchain/status/1485221714795515905

https://twitter.com/Neo_Blockchain/status/1418919486627799040


Proposal Info :clipboard:

[ {
  "target_contract" : "0x6276c1e3a68280bc6c9c00df755fb691be1162ef",
  "method" : "releaseTokens",
  "params" : [ {
    "type" : "Hash160",
    "value" : "ef4073a0f2b305a38ec4050e4d3d28bc40ea63f5"
  }, {
    "type" : "Hash160",
    "value" : "8f2f78592916c13ea13b4cb6d5345e4ff8a91289"
  }, {
    "type" : "Integer",
    "value" : "800"
  } ],
  "call_flags" : 15
} ]

👇 React with 👍 if you liked it, or 👎 if you think this proposal can be enhanced!

grantshares-dapp[bot] commented 1 year ago

🚨 This proposal was edited by the proposer.

grantshares-dapp[bot] commented 1 year ago

🚨 This proposal was edited by the proposer.

gsmachado commented 1 year ago

@jack9684 thanks for the proposal!

I have a suggestion for this proposal:

And, I have a question:

What's the total duration of this proposal? When will you finish and deliver the tutorials?

jack9684 commented 1 year ago

@gsmachado You have made great suggestion for me . At the early stage ,I will submit the content in real time. The content will be modified immediately after the feedback of readers and the community, and may be altered frequently.

The deliverables will not migrate to neow3j.io until they are finalized and approved by some community members.

The total period is 73 days. during which deliverables can be delivered in batches in 6 stages.

csmuller commented 1 year ago

@jack9684, I'm still interested in this proposal. Sorry for the long silence. Just to add to what Guil said:

About moving forward with the proposal: I hope you understand that it doesn't make sense to move forward with the proposal process right now, because many people are less available in Christmas time. But i'm willing to endorse this proposal at beginning of January :)

jack9684 commented 1 year ago

@csmuller I really like your ideas.Thank you so much.

gsmachado commented 1 year ago

Yes, I agree with @csmuller about endorsing the proposal at the beginning of January.

But, just to emphasize: I would like if you could primarily generate the content (i.e., Documentation Tutorial, Application code, and Contract code) first in neow3j.cn and neow3j repo. We could merge and enhance some parts of https://jack9684.github.io/neodocs to neow3j.cn. Then, we could port it to https://developers.neo.org/tutorials once they are finished.

In the meantime, @jack9684, can you edit the proposal to mention that ☝️ ?

P.S.: you can edit the proposal by clicking "Edit" in your proposal in the GrantShares dApp. Make sure you're logged in with your GitHub account in the GrantShares dApp. 😄

grantshares-dapp[bot] commented 1 year ago

🚨 This proposal was edited by the proposer.

jack9684 commented 1 year ago

I have added the sentence "All the Deliverables will be submitted to neow3j.cn and neow3j repo in real time." to the proposal.

grantshares-dapp[bot] commented 1 year ago

🚨 This proposal was edited by the proposer.

csmuller commented 1 year ago

Hey @jack9684, I'm willing to endorse the proposal. But, please first state the reason for the increased budget.

gsmachado commented 1 year ago

in my humble opinion, it's not a fair decision to increase the budget from 570 NEO to 800 NEO without any apparent reason, considering that on 28th November 2022 the price of NEO was almost the same compared to today's price (~6.50ish USD).

😞

jack9684 commented 1 year ago

Consider submitting to neow3j. cn for more readers, I decided to improve the original system.

  1. In order to improve the quality of the overall tutorial , I am going to explain the meaning of each line of code in more details.
  2. To Keep the latest SDK used by the project. Basically, neow3j releases a new SDK version every month, which will increase the workload of updating. In addition to the updating of the SDK, the matching and updating of Neoline and NeoExpress versions will also be included.
  3. It is not only served as a tutorial, the use value of the deliverables in it will also be improved, such as Lottery System. It is not just a simple input box and result pop-up box but can be like https://gift.neo.org/ --- a comfortable UI design. If someone just needs such a system, he or she can use it directly. It needs some additional UI design Based on the reasons above, I increased my budget.
csmuller commented 1 year ago

I'm fine with the new budget given that the examples will be quite comprehensive. What do you think @gsmachado?

gsmachado commented 1 year ago

Ok, now the author @jack9684 provided more context and reason why the budget has increased, I'm fine on moving with this proposal. 💪🙏👍

grantshares-dapp[bot] commented 1 year ago

⛓ This proposal was created on-chain! 🔥🚀🎉

➡️ Now, waiting for a GrantShares Member to endorse it... ⏰


🚨IMPORTANT🚨 Pay attention to the following deadlines:


General info:

grantshares-dapp[bot] commented 1 year ago

⛓ This proposal was endorsed on-chain! 📄🔑

➡️ Voting period starts NOW!


🚨IMPORTANT🚨 Pay attention to the following deadlines:


General info:

roman-khimov commented 1 year ago

What's missing from https://docs.neo.org/docs/zh-cn/index.html for parts №1 and №2 (they don't seem to be related to C#/Java differences)?

The way I see it also is that there are four demo projects planned which is nice, but that's exactly where I'd expect ~four Grantshares applications, they seem to be pretty much independent and it'd be much easier to manage them as different entities.

csmuller commented 1 year ago

What's missing from https://docs.neo.org/docs/zh-cn/index.html for parts №1 and №2 (they don't seem to be related to C#/Java differences)?

~I think these parts are already complete. In that sense this grant contains a part that is retroactive funding.~ Sorry, I was not checking the link. I thought you pointed to the already existing parts in at neow3j.cn. Jack commented on the issue below.

The way I see it also is that there are four demo projects planned which is nice, but that's exactly where I'd expect ~four Grantshares applications, they seem to be pretty much independent and it'd be much easier to manage them as different entities.

Indeed that would be possible and would five GrantShares more control. I have to leave it up to the voting process and thus to the other members to decide if that is the way to go. (AxLabs already voted yesterday)

jack9684 commented 1 year ago

@roman-khimov thanks for your questions

I think these contents are necessary for the continuity of the course.The content in https://docs.neo.org/docs/zh-cn/index.html is very abundant, and I learned a lot from it. But when I refer to these articles for operation, I still encounter some problems. I’d like to describe these contents and points that require attention in more details from the perspective of my actual operation. Take part2 - Build a multi-node private chain and install neocli as an example .If you refer to docs.neo.org for deployment, you may encounter some problems. Specifically, if you deploy four nodes on the same computer, the fourth node will always have problems, since the default MaxConnectionsPerAddress is 3. You need to set a larger value, which is not mentioned in docs.neo.org. For beginners, it may take a lot of time to solve this problem, who are compelled to give up this attempt. In addition, docs.neo.org shows : In the genesis block of the NEO network, 100 million NEO and 30 million GAS are generated. However, when you actually try it in V3.5.0 , the amount of GAS displayed in the wallet is 52000000. And I will attach a small video to make learning more intuitive.

shargon commented 1 year ago

The doc says

Budget Plan 570 NEO is required in total.

But the quantity required is 800, could you please explain the difference?

mialbu commented 1 year ago

But the quantity required is 800, could you please explain the difference?

@shargon This has been addressed in recent comments last week and @jack9684's explanation is in this comment: https://github.com/AxLabs/grantshares/issues/43#issuecomment-1373107445.

grantshares-dapp[bot] commented 1 year ago

🚨 Outcome: this proposal was rejected! 🚫


General info:

steven1227 commented 1 year ago

I do not really agree with this purpose. if it is a tutorial it is ok for me. But why do it only target Chinese developers and users? Most Chinese developers understand English especially reading. I do not think this is the large barrier.

I am sorry for the unclear part in the docs, but also the other fact is that nowadays we try to provide most docs and comments in English only.

roman-khimov commented 1 year ago

For me it's OK to have docs in Chinese, but I think this proposal can be done in smaller chunks and maybe we can skip some of demos (to have NEO to spend on other interesting things).

jack9684 commented 1 year ago

As the saying goes, all roads lead to Rome. I still think it is meaningful to do these things. For Chinese users, Chinese is the most direct way , and at the same time it attracts some people who are interested in the development of NEO to come in and have a look. In China, if one tries to search 'NEO 开发' through Baidu( the biggest search engine) , he or she possibly finds few tutorials with substantial content, and gets little for what he or she wants. Finally ,NEO possibly lost its potential user. By contrast, if one searches and then finds out some Chinese development tutorials ,he or she will get motivated to move forward. If then he or she has a stronger interest, they can continue to read English materials under the guidance of the Chinese course. This does not conflict with English globalization. You mentioned in your comment that most Chinese developers were good at reading , while for me it is unwise to exclude any of the developers interested in it for language barriers. Since NEO supports multi language development, why can’t NEO have tutorials in multiple languages? You provide English for global users, and I try to provide Chinese tutorials through practical operation for users who like Chinese tutorials. There is no conflict between these two. For me, in the future, there will be not only Chinese courses and English courses, but Spanish , French , Spanish courses and so on.

jack9684 commented 1 year ago

@roman-khimov If it is not very interesting itself, we can expect an interesting result. ;)

jack9684 commented 1 year ago

Thank you for your suggestions and wish you a happy Chinese new year.