Author

Topic: [Study Purposes] How can we build our own ecosystem? (Read 96 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Also read a bit about Game Theory (https://en.wikipedia.org/wiki/Game_theory), it will help answer/understand some parts of Bitcoin design.


Ripple isn't decentralized, so i doubt it's good material.


MinePi is scam, see PI Network! A huge trap[Warning!].
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
I would like to start to develop (while I study) my own cryptocurrency, [...] I forked ethminer [...]
Forking another project and modifying it is not going to help you learn much and if you continue down this path the end result will be the copy of that project inheriting all its issues too and you won't have a good understanding of why things are the way they are.
For example you need to be able to answer why Keccak was used and why is PoW designed this way with uncles,etc. and what are the disadvantages of this approach?

Can you guys help me telling me the right way to start in this crypto world? What I have to study, examples of codes, wikis, new projects that I can keep an eye, etc.
If you want to learn and not just create a copy-coin then my suggestion is that you should start from Bitcoin and you don't need to look at the source code that much. You have to study different parts and understand why every decision was made the way it is.
I say Bitcoin because it has the best documentation and you can find the most amount of content on the internet without needing to read the code. Other altcoins usually have nothing apart from their source code.

For example I would split the whole topic into different categories like this:
1. Cryptography
This includes asymmetric cryptography (ECC in bitcoin) and hash algorithms.
The questions you need to be answer are: What cryptography functions are used in bitcoin, where and why. For example double SHA256 is used in PoW because it is a strong hash algorithm and has a good digest size (not too small to make it weak anytime soon and not too big to waste space).
What alternatives could you be using (eg. could you use Blake?).

2. Blockchain
This includes Proof of Work, structures used for blocks, transactions and finally scripts.
You have to be able to answer questions like why do blocks or transactions look the way they do, what are the issues and benefits of each.
What are scripts used for and why are they designed this way, what is a better way of doing it and what is worse?

3. P2P communication protocol
This includes the way the entire network is shaped and how each client communicates with others and how it contributes to decentralization.

After you had a good understanding of the above, you can start looking at what others have done and see what advantages and disadvantages their approach had.

Sources you could use are:
Bitcoin wiki: https://en.bitcoin.it/wiki/
Bitcoin developer's reference: https://developer.bitcoin.org/reference/
Bitcoin SE: https://bitcoin.stackexchange.com/
Mastering Bitcoin book: https://github.com/bitcoinbook/bitcoinbook

Source code is only useful when you want to figure out the details not to learn: https://github.com/bitcoin/bitcoin/
legendary
Activity: 1918
Merit: 1728
I'm a developer and I work with that for about 15 years, but I always worked with websites, PHP, HTML, CSS... whatever, simple things. I started to study C, C++ and Python this year and besides I always worked with most popular languages, my logic is very good (in my opinion, of course), and I would like to start to develop (while I study) my own cryptocurrency, my own pool (for whatever coin), my own wallet, my own miner (this I started to develop and I forked ethminer and I did many things already, it's very good to learn from other people source code), etc...

Can you guys help me telling me the right way to start in this crypto world? What I have to study, examples of codes, wikis, new projects that I can keep an eye, etc.

Thank you so much!

You should most probably go with the above posts suggesting to read 'Mastering Bitcoin' first. It will help you understand how Bitcoin works at low-level. It works on UTXO-model where every transaction creates new output and every node maintains the database of outputs which haven't spent yet. Unlike Bitcoin, most of the new cryptocurrencies work on state-model. In State-model, each node maintains same state (database), every transaction makes changes to the state and all nodes update their state based on the transactions. You can go with either approach and design your crypto project.

Now about language to choose, the good thing is that you don't have to learn all languages (C, C++, Python), you can literally make crypto project with any programming or scripting language you like. You mentioned that you know PHP and yes, you can use PHP standalone to code crypto project. Here's a Bitcoin implementation in PHP: Bitwasp. Some languages are surely bad choice to build Crypto Projects but since you currently want to build the project for study purpose, any languages will do fine. If the language is capable of handling a server and bi-directional real time communication then Voila!, you can code crypto project with it.

And don't start with the tutorials guiding you to build the tokens on Ethereum. It will lead you nowhere. It is dirt easy to create tokens on Ethereum, just few lines of Solidity coding (which you can do on web-based IDE known as Remix) and you can host tokens on the blockchain. But it won't serve the purpose. Learning to build crypto project means to learn how to create consensus algorithm, how to create consensus rules, how to create blockchain, how to create language (or system) for your blockchain (language which will execute your transactions using opcode and determine what to do with transactions).

Good Luck!
sr. member
Activity: 1232
Merit: 379
You should start by reading the book "Mastering Bitcoin" as it will give you good technical knowledge on what bitcoin is.
Since you already know programming it must not be so difficult for you to understand the technicality.
Yeah, this will guide you more in preparing to build your own ecosystem and coin likewise wallet, in the last chapter, it talked about the programming codes and commands to be used in developing wallets, wallet trouble shooting and others.
I will be looking forward to be seeing something wonderful from the op, since you needed to see some website or possibly finished work in blockchain, why can you looked at electrum wallet and create something similar to that.
hero member
Activity: 1106
Merit: 638
Welcome to our world!

Another way for you to begin your education is to read the whitepapers for the coins that are popular, showing progress now. They'll explain the technical aspects which will help you understand where or how their developers are thinking about each project.

Here are links to several cryptocurrency whitepapers:

One ask of you, come back to this forum and share what you have learned. We all need to learn from each other.

Happy reading!
legendary
Activity: 2338
Merit: 10802
There are lies, damned lies and statistics. MTwain
<...>
There’s a decent thread here which points to resources and books for the bitcoin ecosystem:
Study Bitcoin core source code.

Specifically, there are some interesting sites that may serve as a basis:

https://developer.bitcoin.org/
https://www.lopp.net/bitcoin-information/technical-resources.html


If you want to go down the ERC20 route, and manage to create your own token in a flash, the basics are explained here: [BEGINNER FRIENDLY GUIDE] Launch your own TOKEN in a few simple steps!
It doesn’t go into real details there, so you’d need to find further resources for stuff like contracts and nodes.
hero member
Activity: 2702
Merit: 716
Nothing lasts forever
Hello guys, I have some questions... I'm a developer and I joined this cryptocurrencies about 3 months ago. All those things (blockchain, miners, coins, pools, exchanges...) looks like the most advanced - the top level - of the development arts in cryptography and security.

I'm a developer and I work with that for about 15 years, but I always worked with websites, PHP, HTML, CSS... whatever, simple things. I started to study C, C++ and Python this year and besides I always worked with most popular languages, my logic is very good (in my opinion, of course), and I would like to start to develop (while I study) my own cryptocurrency, my own pool (for whatever coin), my own wallet, my own miner (this I started to develop and I forked ethminer and I did many things already, it's very good to learn from other people source code), etc...

Can you guys help me telling me the right way to start in this crypto world? What I have to study, examples of codes, wikis, new projects that I can keep an eye, etc.

Thank you so much!

You should start by reading the book "Mastering Bitcoin" as it will give you good technical knowledge on what bitcoin is.
Since you already know programming it must not be so difficult for you to understand the technicality.

Next up, start creating your own website for a block explorer. This will enhance your web dev skills and also give you an idea on how blockchain works.
Do this while reading Mastering bitcoin. Later you can create some web apps with API calls using a Full node or something or think of some tool or web app that can help people or reduce the efforts of doing it. This would be more than sufficient at the initial stage and you will know what to do next by yourself.
legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
...and I would like to start to develop (while I study) my own cryptocurrency, my own pool (for whatever coin), my own wallet, my own miner...

I wonder if you want to make another cryptocurrency just to see if you can do it, or do you have any serious plans to make that cryptocurrency different from others in some way? I'm asking you this because there are currently 8795 cryptocurrencies listed on CMC, and I'm not sure that 1% of them make any sense.

Can you guys help me telling me the right way to start in this crypto world? What I have to study, examples of codes, wikis, new projects that I can keep an eye, etc.

I already mentioned CMC (https://coinmarketcap.com/), where each coin has links to its website, whitepaper and source code among other things. In my opinion, this is a good start to your research, although someone may give you better advice.
legendary
Activity: 2464
Merit: 3878
Hire Bitcointalk Camp. Manager @ r7promotions.com
I do not have much idea but you can start from:
https://bitcoin.org/en/development

On a side note: If you know one programming language then it should not be hard to handle other languages.
newbie
Activity: 5
Merit: 7
Hello guys, I have some questions... I'm a developer and I joined this cryptocurrencies about 3 months ago. All those things (blockchain, miners, coins, pools, exchanges...) looks like the most advanced - the top level - of the development arts in cryptography and security.

I'm a developer and I work with that for about 15 years, but I always worked with websites, PHP, HTML, CSS... whatever, simple things. I started to study C, C++ and Python this year and besides I always worked with most popular languages, my logic is very good (in my opinion, of course), and I would like to start to develop (while I study) my own cryptocurrency, my own pool (for whatever coin), my own wallet, my own miner (this I started to develop and I forked ethminer and I did many things already, it's very good to learn from other people source code), etc...

Can you guys help me telling me the right way to start in this crypto world? What I have to study, examples of codes, wikis, new projects that I can keep an eye, etc.

Thank you so much!
Jump to: