Tezos compilation guide for Ubuntu 18

Increase max number of ulimit open file in Linux

1.Step : open the sysctl.conf and add this line fs.file-max = 65536

$ vi /etc/sysctl.conf

add new line and

fs.file-max = 65536

save and exit.


$ vi /etc/security/limits.conf

and add below the mentioned

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

save and exit check max open file ulimit

# ulimit -a

open files                      (-n) 65535


Some of the code is repeated/unnecessary, feel free to provide a more concise guide

for Debian, see https://github.com/tezoscommunity/FAQ/wiki/Build-a-Betanet-node-on-Debian-9

You can skip all this and try run my precompiled libraries for Intel processors


For Ubuntu 16, you need:

upgrade to Ubuntu 18


sudo apt install bubblewrap
git clone https://gitlab.com/tezos/tezos.git
cd tezos
git checkout betanet
sudo apt install curl
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
wget https://github.com/ocaml/ocaml/archive/4.06.1.zip
unzip 4.06.1.zip
cd ocaml-4.06.1
./configure -bindir /usr/bin -libdir /usr/lib/ocaml -mandir /usr/man/manl
make world
umask 022
sudo make install
cd ..
opam init
opam pin add jbuilder 1.0+beta20
eval $(opam env)
opam install -y astring base biniou cmdliner cohttp cohttp-lwt cohttp-lwt-unix conduit conduit-lwt conduit-lwt-unix cppo_ocamlbuild cpuid cstruct cstruct-lwt ezjsonm fieldslib fmt hex ipaddr irmin js_of_ocaml js_of_ocaml-compiler jsonm logs lwt mtime nocrypto ocaml-migrate-parsetree ocb-stubblr ocp-ocamlres ocplib-endian ocplib-json-typed ppx_ast ppx_core ppx_deriving ppx_driver ppx_fields_conv ppx_metaquot ppx_optcomp ppx_sexp_conv ppx_tools_versioned ppx_type_conv stdio topkg uri uutf yojson base64 cppo easy-format magic-mime ocaml-compiler-libs ppx_derivers ppx_traverse_builtins re result sexplib stringext
make build-deps

Create an identity, start RPC server, add address, activate:

./tezos-node identity generate 26

echo "curl -s 'http://api.tzscan.io/v2/network?state=running&p=0&number=50' | grep -Po '::ffff:([0-9.:]+)' | sed ':a;N;$!ba;s/\n/ /g' | sed 's/::ffff:/--peer=/g'" > get_peers.sh 
./tezos-node run --rpc-addr `bash get_peers.sh` 
./tezos-client add address fundraiser <tz1...> 
./tezos-client activate fundraiser account fundraiser with <activation_key>

To import your fundraiser private key:

./tezos-client import fundraiser secret key fundraiser

Start baking (background service &), path to your node location:

./tezos-baker run with local node "/home/user/.tezos-node" (this is NOT the executable path, but the hidden directory where user data are stored)
./tezos-endorser run "fundraiser"
./tezos-accuser run

What Bismuth Has Evolved Into

A part of Bismuth has evolved into a detached decentralized application layer. It is indeed possible, and it makes the network lighter by not forcing nodes to execute directly, but only those interested in it. I believe that with Python, building of such individual decentralized application “interpreters” is easy and achievable by everyone. So now you can write either contracts or new environments for contracts. Tezos, for example, took a different approach where you can change the algorithm by voting. I am not sure whether that is good or bad, but in Bismuth you can write your own without any voting. And you then supply the decentralized application engine (or just contracts if you want), directly to the people interested in it. What is more important, you are not limited by Solicity or Michaelson, you can just use the Python language in it’s completeness with all the available modules, cross-os compatibility.

♫ Blockchain is a bubble ♫

So I’ve read today that some morons paid $FCT Factom $8,000,000 to have some morgage documents stored on the blockchain. So what Factom now has to do perhaps is to develop an API for storing data of a certain type on an already existing platform, which can take up to 3 days and make one programmer busy. In fact, nothing needs to be done to already store such documents on the blockchain, you could do it before, and not only for morgages, for any type of a document. And you could do it in BTC (for high costs), you could do it on NXT or any other platform that supports messaging. Because “duh”, message = data. Once you store the data, you can read them, encrypted or not.

To sum up: No revolution, no innovation, no evolution. Nothing. Someone just feels like throwing $8,000,000 down a black hole is a good idea. This makes me seriously believe that the current blockchain trend is about 8000x overhyped. $1000 USD would be a viable amount for such project. And this makes me concerned for both Bitcoin and altcoins alike.

Blockchain is a totalitarian system

How is the consensus formed between nodes in a peer to peer environment? Is it though deliberate choice by participants after coming up with protocol improvements? No, it is a purely top-down enforcement of the new client code, with uniform handling. Yes, uniform. There is nothing hippie about Bitcoin and it’s good that way. Most of the people are simply too stupid to even come up with adjustments to the code, so there are some other people, who do it for them. The only choice is the consumer choice – which to pick and put into the basket. However, it looks like the equilibrium has been crossed in the recent attempt of Bitcoin Unlimited to take over. Why are people mad? Bitcoin Unlimited might be the only attempt at breaking down the centralized code distribution. By the way, even the main nodes are hardcoded in Bitcoin Core, and you know what it means. There are about four nodes and all of them could be taken over by external powers and converted to be malicious. Usually when there is a problem, we tend to say: People can reject the new malicious code and revert to older version. But this piece of code is in all versions, so no luck there.

So what is this equilibrium I mentioned? They say that everything has it’s price – Peercoin was the first altcoin to aim at mitigating the price of a theoretical attack issue on a Bitcoin network. But that was a purely technical approach. BU is a socio-political vector attack. At some point, the Bitcoin price creates a market environment for it’s own destruction. Capital is centralized and code is centralized. BU realized this and tried to take over. Why? Simply because the potential gains outweight the investment costs and potential risk.

The @ActualAdviceBTC Guide to Profitably Trading Pump and Dump Shitcoin Ponzis

Disclaimer: Coincidental does not agree with this article’s attitude towards trading, but glady lets one of the most popular traders express

Only the Pump is real. Technology, hype, opinions, updates are all illusions to distract you from the only 3 variables that matter — the firepower of the market makers, the current price, and the intertemporal imbalance of buyers vs. sellers.

As soon as at least 3 independent people mention lambos in the trollbox, begin unwinding your position immediately.

As soon as the twitter/bitcointalk/weibo account you followed into this trade talks about averaging down, begin unwinding your position immediately.

If good news comes out and there is no pre-news pump, begin unwinding your position immediately.

Only buy things with premines if it’s obvious the market maker has deep pockets, ample firepower, and hype is certain to reach bitcoiners beyond the bitcointalk/twitter esoterica.

Hype is hype, but some hype is cyclical or scheduled. Accumulate roughly 2-3 months before the hype event and sell 80% in the week before and the remaining 20% at newsbreak. You will not extract all the profit possible but your chances of loss will diminish greatly.

Seek out the village idiot and use him as a bellwether. If he doubles down, begin unwinding your position immediately.

If the hype bubble bursts and price falls more than 30% in a day, do not attempt to knife catch any dead cat bounces for at least 2 weeks and begin unwinding your position immediately.

If someone can’t shill at least two coins at a time, then they are a total bagholder and should not be trusted. Don’t trust poor people, they are poor for a reason.

Don’t buy anything written in shitty english or with stock photos (right click -> google img search).

Don’t buy anything that looks Russian (East European in general) or Indian. Chinese is okay.

Don’t buy shitcoins that claim to be building a service that will eventually use their currency. Only established services that seek to implement a shitcoin into their already existing economy are okay.

Don’t buy any shitcoins that are gaming, color, religion, country, politics, celebrity, or otherwise FOTW themed unless you have mastered the technique outlined in #2.

Don’t buy LTC, Ripple, Stellar, Bitshares, or 2013 BTC-e coins (TRC, FCT, NOV etc). They’re DEAD!!

Don’t ever hold a coin longer than 6 months. There is something mentally wrong with you if you do.

Breaking the 100 BTC volume threshold will trigger most altcoin bots on yobit/c-cex/bittrex/poloniex.

Deduce which coins have a common marketmaker. For example, FCT, MAID, REP and BTS have the same ax MM (sorry for outing you, Boshen). Likewise, so do DGB and SC. They tend to move together, and if one lags then likely the laggard will follow the volume leader.

Buy anything that Barry Silbert stakes his reputation on. It is almost guaranteed he will double down to save his ego.

Devs are the worst traders. Disregard any trading advice you get from a programmer unless it involves a fatal flaw in the code or a hidden scam.

Bitcoin maximalists would be the #1 worst traders if so many Devs weren’t also bitcoin maximalists. They are so bad it’s profitable to do the opposite of what they say.

The current altcoin totem pole is: Primordial Soup -> Yunbi & dabtc -> C-Cex & Yobit -> BTC38 & Bittrex -> Poloniex. Anyone that tells you otherwise is retarded or trying to scam you.

4 states of the market

Having been trading since 2014, I have noticed a recognizable pattern in market situations in both Bitcoin and altcoins. There are 4 following states. The low volume and high volume states alternate between one another. The first two are usually associated with sideways market and the last two refer to market trends.

  • Low volume, price before uptrend/downtrend breakout
  • Common for markets nearing the all-time lows. The lower the market goes, the easier it is to bump it with smaller amounts of capital. The higher it goes, the easier it is to crash it. If low volume happens between high volume cycles, it usually follows the volatility pattern and happens much sooner than in “cold” markets. With rising capitalization, the probability of continuous upward trends decreases proportionally, because the amount of capital required to sustain such trend raises exponentially.

  • High volume, price quickly rising/falling
  • These two states are called trends and are easily identifiable by the emotions of traders and holders. Rising euphoria means market is at least half way through it’s rise before most players exit. Desperation means the market is at least half way through the fall before recovery.

    Bitcoin Security Threatened By Lightning Network

    You might have heard that Bitcoin is unable to scale and there is a giant drama now around the 1 MB blocksize limit. One of the proposed solutions to this problem is the so-called lightning network. Let’s first explain what it is, and then when it came from and why it’s covered up.

    Lightning network is an off-chain solution, which means that in some external system, participants exchange IOUs in some private database. Once the database owner decides for a settlement, they submit their own transactions to the real Bitcoin network. For this system to be operational, you need money up front, so you can do the settlement in the end.

    So basically, Lightning network is a fund, not so different from one other fund we have heard about a lot, The DAO. The aforementioned comes from Ethereum, of course, not from Bitcoin. And that’s the reason why Andreas and other people are trying to make it look so different, calling it a “network” when in fact it is a centralized database of IOUs with an upfront fund. Purpose might be different, but the structure is completely the same and it has nothing to do with Bitcoin protocol, just as the DAO has nothing to do with Ethereum.

    What it creates, however, is a leverage against Bitcoin security. As we have learned from Ethereum, in case of theft, which is in direct proportion to centralization (embodiment of which is the Lightning Network), the developers may decide to salvage a working protocol to save the malfunctioning organization. And that, my friends, is the end of Bitcoin’s purpose and a return to centralized banking.

    What a 51% attack really is

    I have been innoculated since 2014 with a simplistic definition of a 51% attack. I have been told that it means a malicious actor takes over 51% of the mining power. No, it is not. First, there is no room for morality in a decentralized consensus system like Bitcoin. Many Bitcoiners base their entire attitude on this single fact – that you cannot judge and decide which transactions are good and which are bad. The code decides, and the chain is immutable. So, there are no malicious actors, only selfish people trying to reach their goal, which for the most part, means getting more Bitcoin by validating transactions. The end goal is capital enrichment of self. So if someone tries to disrupt a network by taking over 51% of miners, it is the same situation as with normal mining – they are just reaching their goal and as long as the code allows for it, it’s OK.

    Then I have been told that PoS coins are immune to 51% of attacks. That is also false. We need to take a deeper look at what a 51% mining situation causes in PoW to uderstand why. The basic property of Bitcoin is not an application or a protocol, it is the network aspect. Bitcoin is a special type of network, a consensual one. This means that the goals of the network are defined by what the majority wants. Why is this important? The 51% majority which you may call a group of malicious actors are malicious only from your point of view. And since you do not own more than 50% of the network anymore, too bad, your opinion is less relevant and the 51% group shapes the purpose. Right now, the purpose is transaction rewards, block generation with included transactions. But only because the majority thinks it’s a good idea.

    The worst thing is not the 51% of the mining power, it is the 51% of the opinion. As long as the network is fragmented to smaller mining segments, the change of the paradigm is unlikely.

    In Bitcoin, the opinion can be expressed through mining. That’s not because mining is essential for it’s existence, but because it has been arbitrarily chosen as the agent of the network opinion status. Not mining, but consensus is important. And consensus is incredibly susceptible to attacks. Sybil and 51% attacks are two iconic examples, but we might have forgotten what they have in common, they are both consensual, or network integrity attacks.

    Since consensus equal network integrity, we need to look at other types of “attacks” which impact the network structure. And these are forks. Yes, forks are also consensus attacks, sometimes unintentional as with the switch from BerkeleyDB to LevelDB in 2013. Sometimes intentinal, as with the ETH/ETC split.

    When the network splits, it changes from let’s say 3500 nodes to 2x 1750 nodes. There are still individuals, but they now have some kind of an incentive to group in order to destroy the other group. In a non-malicious unintentional situation, the incentive usually is keeping the blocks which they mined and got the reward for. The advantage of POW is the simple fork resolution because of the computational power rules which cannot be cheated, we soon know which group won and which was defeated and we carry on, pretending there were never two groups. But there are daily many forks in Bitcoin, as Andreas Antonopoulos noted. The network is weakened, fragmented, and full of conflict.

    I am finally getting to the notion why PoS systems are not safe from 51% attacks. If you remove POW mining, you need to set other principles in it’s place. Principles, which represent the network consensus. When done in a decentralized fashion, it always means that you prefer the nodes to express their opinion individually instead of organized groups, because organized groups want to get rid of each other, while individuals look for the lowest common denominator. And a 51% attack happens whenever a group starts forming. Due to the nature of consensus, such groups, leading to forks – which might be caused by something as small as a database system upgrade or network fragmentation, need to form and threaten the existence of the status quo by inflicting a network health crisis.

    You don’t have to own 51% of coins or the mining power. Or you have to do is create groups. e.g. unplug some intercontinental network device and you end up in the same situation. Or start a propaganda campaign.

    This is a short pictorial I created about who I think might be BCNext, the author of original NXT. This is all speculation, of course, but finding a person who hosted a multibit service on the same IP as the first NXT is a little too suspicious. On closer inspection, we see that he is “…a contract web and blockchain application developer, open source contributor and long distance runner.” In JAVA of course, and he worked for an environmental company! He also says he’s a long term bitcointalk forum member, github shows he has been coding years before Bitcoin was popular. Also, most of his twitter accounts are gone.


    – How many blockchain developers were there in 2014? How many independent, non-forking genuine projects? You could count those on fingers of one hand. Also, all of them were C/C++ developers, only one was a JAVA developer.

    – Come-from-Beyond has also been associated with this address, the other project hosted on the IP was “Banana Cash”, which is Russian. Come-from-Beyond has a good command of both English and Russian. He claimed that the ISP assigned that IP to a random other person after he stopped serving the NXT GUI there. The other project must have been either Multibit or Banana Cash, the first one is a JAVA blockchain application and the other one is Russian/English. At least one of those facts is obviously not true.

    His LinkedIn profile: http://archive.is/UYzpS

    WHOIS entry

    % This is the RIPE Database query service.
    % The objects are in RPSL format.
    % The RIPE Database is subject to Terms and Conditions.
    % See http://www.ripe.net/db/support/db-terms-conditions.pdf

    % Note: this output has been filtered.
    % To receive output for a database update, use the "-B" flag.

    % Information related to ' -'

    % Abuse contact for ' -' is 'abuse@hetzner.de'

    inetnum: -
    netname: DE-HETZNER-20051227
    country: DE
    org: ORG-HOA1-RIPE
    admin-c: HOAC1-RIPE
    tech-c: HOAC1-RIPE
    status: ALLOCATED PA
    mnt-by: RIPE-NCC-HM-MNT
    mnt-by: HOS-GUN
    mnt-lower: HOS-GUN
    mnt-routes: HOS-GUN
    created: 2005-12-27T12:36:33Z
    last-modified: 2016-08-25T13:25:28Z
    source: RIPE Filtered

    organisation: ORG-HOA1-RIPE
    org-name: Hetzner Online GmbH
    org-type: LIR
    address: Industriestrasse 25
    address: D-91710
    address: Gunzenhausen
    address: GERMANY
    phone: +49 9831 5050
    fax-no: +49 9831 5053
    admin-c: TF2013-RIPE
    admin-c: MF1400-RIPE
    admin-c: GM834-RIPE
    admin-c: HOAC1-RIPE
    admin-c: MH375-RIPE
    admin-c: SK2374-RIPE
    admin-c: SK8441-RIPE
    abuse-c: HOAC1-RIPE
    mnt-ref: RIPE-NCC-HM-MNT
    mnt-ref: HOS-GUN
    mnt-by: RIPE-NCC-HM-MNT
    mnt-by: HOS-GUN
    created: 2004-04-17T11:07:58Z
    last-modified: 2016-08-25T13:26:09Z
    source: RIPE Filtered

    role: Hetzner Online GmbH - Contact Role
    address: Hetzner Online GmbH
    address: Industriestrasse 25
    address: D-91710 Gunzenhausen
    address: Germany
    phone: +49 9831 505-0
    fax-no: +49 9831 505-3
    abuse-mailbox: abuse@hetzner.de
    remarks: *************************************************
    remarks: * For spam/abuse/security issues please contact *
    remarks: * abuse@hetzner.de, not this address. *
    remarks: * The contents of your abuse email will be *
    remarks: * forwarded directly on to our client for *
    remarks: * handling. *
    remarks: *************************************************
    remarks: *************************************************
    remarks: * Any questions on Peering please send to *
    remarks: * peering@hetzner.de *
    remarks: *************************************************
    org: ORG-HOA1-RIPE
    admin-c: MH375-RIPE
    tech-c: GM834-RIPE
    tech-c: SK2374-RIPE
    tech-c: TF2013-RIPE
    tech-c: MF1400-RIPE
    tech-c: SK8441-RIPE
    nic-hdl: HOAC1-RIPE
    mnt-by: HOS-GUN
    created: 2004-08-12T09:40:20Z
    last-modified: 2015-08-06T09:39:14Z
    source: RIPE Filtered

    % Information related to ''

    descr: HETZNER-RZ-NBG-BLK4
    origin: AS24940
    org: ORG-HOA1-RIPE
    mnt-by: HOS-GUN
    created: 2006-01-02T08:59:04Z
    last-modified: 2006-01-02T08:59:04Z
    source: RIPE

    organisation: ORG-HOA1-RIPE
    org-name: Hetzner Online GmbH
    org-type: LIR
    address: Industriestrasse 25
    address: D-91710
    address: Gunzenhausen
    address: GERMANY
    phone: +49 9831 5050
    fax-no: +49 9831 5053
    admin-c: TF2013-RIPE
    admin-c: MF1400-RIPE
    admin-c: GM834-RIPE
    admin-c: HOAC1-RIPE
    admin-c: MH375-RIPE
    admin-c: SK2374-RIPE
    admin-c: SK8441-RIPE
    abuse-c: HOAC1-RIPE
    mnt-ref: RIPE-NCC-HM-MNT
    mnt-ref: HOS-GUN
    mnt-by: RIPE-NCC-HM-MNT
    mnt-by: HOS-GUN
    created: 2004-04-17T11:07:58Z
    last-modified: 2016-08-25T13:26:09Z
    source: RIPE Filtered

    % This query was served by the RIPE Database Query Service version 1.88 (HEREFORD)

    He has recently been increasingly active in private repositories, so he might also be working on Ardor (bitbucket supports direct imports).