How To: Join the Ethereum network

Now this is a total disclaimer: This tutorial has absolutely nothing to do with maidsafe.

Ethereum is a network based on a blockchain like bitcoin, so this means that Ethereum is not going to scale too well, unlike the Safe Network when it launches. Ethereum is basically a bitcoin 2.0; bitcoin can basically only do one thing, process transactions, but Ethereum can process code and data as well as transactions. You can think of Ethereum as public, programmable money. Because Ethereum exists on a blockchain, everything on this blockchain will be publicly accessible, so we’re not to the point of a true digital cash yet.

Why am I writing this tutorial? Because a lot of people on this forum are also interested in bitcoin, and I believe that maidsafe and Ethereum can exist together perfectly. Also because Ethereum is purposefully trying to make it hard to join the network, so this is a challenge for me to make it extremely easy to join! (Ha ha, take that Ethereum!) They’re not even giving users the genesis block to begin with. If you just follow the steps below, you can check out Ethereum for yourself!

Step 1: Install python and dependencies.

If you’re on Windows, install python normally, if you’re on linux, run the command below:

curl -O https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install bitcoin

Or run this command if you already have pip bitcoin installed:

sudo pip install --upgrade bitcoin

Step 2: Install Ethereum

If you are on Ubuntu, install Ethereum from the ppa, everyone else, follow the instructions here.

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum

Step 3: Download and run the genesis block python script.

Download the script here, or run the command below if you are on linux.

curl -O https://raw.githubusercontent.com/ethereum/genesis_block_generator/master/mk_genesis_block.py

Now for the important part, generating the genesis block. Ethereum purposefully is not giving out the genesis block, they’re making everyone do it themselves. Because they don’t have the block hash released yet, you can just use the one I found and tested, but later they will release it on twitter.

python ./mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json

Step 3: Run Ethereum!

This is the last step, all you need to do is run geth to join the network!

geth --genesis genesis_block.json

Ethereum Release Video

If you’ve made it this far, good job, now you can do what you want with it. Watch the live network, read more about it, or just say you’ve done it and eagerly await Maidsafe’s first release! Now you can watch their cool video:

7 Likes

The network status page is pretty; I guess we’re watching for transactions and gas spending as an indicator of it’s becoming useful.

It could do with a hover description on szabo suggesting how much that is.
A sort by “Is Mining” suggests only x5 are mining, which I wonder isn’t ideal.

Ethereum is the one sensible blockchain project I’ve not bought into with much time or money, as it seems ridiculously ambitious. Hopefully finds ways to clearly evidence its stability and utility… and I guess this is like Bitcoin in 2009… long road ahead.

2 Likes

I posted this tutorial on the Ethereum forum as well, I just love the little easter egg I put in the post:

I actually maid this tutorial for another forum, but I thought the Ethereum community could appreciate this as well.

as in:

maid

7 Likes

I tried to build the genesis_block.json on Win7/64. But I get a syntax:

C:\Python34>python ./mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c
370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json
  File "./mk_genesis_block.py", line 293
    print json.dumps(evaluate(), indent=4)
             ^
SyntaxError: invalid syntax

It’s command line only, but cool to see them go live. More important thing, they at least SEEM to reference the SAFE Network on their homepage! The word ‘safe’ is crossed out here.

2 Likes

I’m by no means an expert in Ethereum (I just started reading about it last week!), so you might need to go to their forum for help. You can also check the blog post where I found out how to do all of this from.

1 Like

I think you might need to install python-bitcoin:

pip install bitcoin-python

1 Like

I thought that too, until I read this: “Before you decide to import your presale ether wallet, please remember that Frontier is a public, live test network. **It is dangerous, potentially full of bugs and is prone to instability. If you understand the risks and still want to go forward, then importing your presale wallet is very easy.”

1 Like

So wait a tic, they’ve launched an unstable, insecure platform? Is that quote referring to the latest live version, or a pre-launch version?

The best test is a live test. So they didn’t release their GUI’s and all the Dapps for people to use. This is intended for Devs and people who know what they’re doing. That’s what they explicitly tell everyone. You even get a warning page when you go on their website and try to run the client etc. But this is the actual network, just like the Bitcoin blockchain was started in 2009 by Satoshi. In the coming year it will become more and more stable and extra features are launched like MIST and Whisper etc. They take it step by step.

3 Likes

I thought the idea of ethereum was an interesting one. However, I wondered how it could scale and then I found out about maidsafe and lost interest in the project, really.

I wonder whether they will provide something useful at the right price. I suspect safe net will eat into their cake in the long run, but it wouldn’t be the first time I was wrong.

5 Likes

What the the hell is the crossed out SAFE in reference to? :confused:

I have always thought their website and advertised features sounded great and very flashy, but I also lost interest very quickly because MAIDSAFE seemed more align with my ideology.

4 Likes

Lmao, you guys are thinking way too deeply…

Safe is crossed out because it’s exactly that – it ISN’t safe (and no not “maidsafe”, but not safe as in it is actually dangerous) – they’re taking small chunks at a time. This is the first of Four stages (next is “homestead” etc. etc):

It’s called “Frontier” for a reason – it’s meant mainly for developers building DAPPS so opportunity abounds, but you’re in the wild west and you have to know what you’re doing as you’ll be dealing with commmand line because it’s an early release.

4 Likes

Oh god… no it’s not. See my reply below.

Of course it’s not in ref to the SAFE Network, that would be like admitting defeat at launch! It’s def about being unsafe, but you still must see the irony. I wouldn’t be surprised if they replaced the crossed out safe in the next week or two for this very reason.

3 Likes

I actually don’t. The nature of each phase has been clear from the start and it’s been clear to the many DAPP developers out there. The fact that they DO write it upfront speaks volumes (yes they do have a sense of humor).

I wouldn’t call it defeat when developers are already up an running doing creative work. Below are all being built on top of Ethereum. Early, but you can already see the seeds. Where are the Maidsafe apps being built by the community (honest question)?:

http://www.augur.net/
http://boardroom.to/
http://airlock.me/
https://www.provenance.org/
https://www.theprotocol.tv/adept-demo-ibm-samsung/
http://slock.it/
https://dgx.io/
http://weifund.io/
http://makerdao.com/

“Always remember, shipping is a feature”:

Btw — I actually do support Maidsafe. But I’ll critique it as I do ETH or BTC - I’m not a blind follower. If anything I hope ETH launch gets Maidsafe going even faster and they can learn from what they’re doing. The beautiful thing is that we have all these techs – there will be overlap, there will be complimentary things, and there will be competition. All good in my mind.

1 Like

I really hope so to, everyone can learn from differing approaches (charge for compute, transactions or resources etc.). I doubt anything will make us go faster though to be honest. If we could learn from each other then great, but at the moment I think it is a case of work as hard and SMART as possible to get apps into peoples hands in as simple a manner as possible.

It will be interesting to see the differing approaches, I feel we are looking to have effective simple installers and minimalist as possible route to use the code (even for devs) and very focussed on tier 1 OS’s (Linux, Mac, Windows) [I really feel ARM should be in there to nowadays]. So I am keen to see take up of a linux only more technical approach to market, it seems we don’t market ourselves well and aim for simplicity and Ethereum market themselves incredibly well and provide a more technical interface (obviously more so earlier on).

Technically though the development approaches are very different indeed, I feel a core should be single language and it should be a systems language (no GC) with API’s and interfaces to other languages (our ports) at user level. Then devs can say they are at the top of the stack and use what they want. The other really interesting thing to watch here is how the projects are managed, we have become much more focussed on task driven sprints with deliverables planned ahead, Ethereum seems to be more decentralised in it’s approach. I see they seem to see what devs deliver and go from there where we try and know what’s coming (at a low level), so that is also worth looking at. Both have road-maps so there is a common belief in a direction, getting there is handled differently though.

Then there is the fundamental design, blockchain verses decentralised consensus, this is where the huge differences in implementation are and where we can see how both pan out. If one fails though, I would like to see the best bits kept, so very modular approach to the projects are crucial. I mean get libraries generic and used by many, otherwise a large homogeneous project will sink with all the tech and ideas. We don’t want that for sure. I am not close enough to Ethereum dev to know if they are pushing modularity, but I know I really favour that approach for many reasons (generic means your libraries become well tested in many situations, forcing core algorithms and type structures to be tested and made as close to perfect as we can).

So lots to look at and learn, but some pretty huge differences in approach and technology as well as fundamental design.

The last area of difference is vision, I feel the vision of MaidSafe and perhaps SAFE is very solid clear and achievable Privacy, Security and Freedom in the digital world. It may be hard to explain the tech but not the vision. I would love Ethereum to have a single minded approach to why it exists and convey that more clearly. It is my criticism of them really that they seem to alter what they are very often and it makes a hard to understand concept even harder. On the same vein though, if you see me trying to explain our tech from a tech standpoint you will see me unable to convey a simple message, so this is not easy and I am not saying we are brilliant at it, but I think Ethereum could improve the core message a bit and attract more people. That helps everyone.

18 Likes

Even without apps standing in line, Maidsafe is super useful and it looks more like bitcoin, Ethereum and others will eventually run on the SAFE Network. So it doesn’t really matter on which network, apps run. Soon there won’t even be a difference between the old internet and Maidsafe. Except that you get hacked on the old internet. Sorry that I say this, no offense. I think we’re missing the point when we ask “Where are the Maidsafe apps being built by the community”? What we should be asking is: Which app I’m going to built or let some one else built for me to run on Maidsafe. I mean if your a early adopter why not take that advantage?

In another thread I noticed a very enthousiastic team working on SAFEpress.

1 Like

By the way, SAFEpress is both an app and a framework.

The former enables websites, blogs etc to be built using a high level interactive UI (like WordPress).

The latter will be a platform/framework that enables anyone with basic web skills to build apps on SAFE without going near the SAFE API or libraries. That will open up SAFE to anyone who knows HTML/CSS/Javascript.

6 Likes