The code is written in Matlab/Octave. It relies on data tables named according to each project, containing two columns (address and balance). We scrape this data from the Etherscan.io website using a generic crawler and parser.
cellICOs = {'AUGUR','CIVIC','EOS','VECHAIN'};
icoClr = {'r','m','b','g'};
figure;
for i=1:numel(cellICOs)
ld = load(['tbl_' cellICOs{i}]);
tbl = ld.tbl;
tbl = sortrows(tbl,2);
tot = sum(tbl.blnc);
stairs(tbl.blnc/tot,cumsum(tbl.blnc)/tot,...
['.-' icoClr{i}],'DisplayName',cellICOs{i});
hold on;
end
set(gca,'xscale','log');
grid on;
ylabel('Sum of wallets with \leq X')
xlabel('Individual wallet share (X)');
pbaspect([1.66 1 1])
title('Token distributions as of 04.03.2018');
The code is written in Matlab/Octave. It relies on data tables named according to each project, containing two columns (address and balance). We scrape this data from the Etherscan.io website using a generic crawler and parser.
cellICOs = {'AUGUR','CIVIC','EOS','VECHAIN'}; icoClr = {'r','m','b','g'}; figure; for i=1:numel(cellICOs) ld = load(['tbl_' cellICOs{i}]); tbl = ld.tbl; tbl = sortrows(tbl,2); tot = sum(tbl.blnc); stairs(tbl.blnc/tot,cumsum(tbl.blnc)/tot,... ['.-' icoClr{i}],'DisplayName',cellICOs{i}); hold on; end set(gca,'xscale','log'); grid on; ylabel('Sum of wallets with \leq X') xlabel('Individual wallet share (X)'); pbaspect([1.66 1 1]) title('Token distributions as of 04.03.2018');
@hr1 thanks for your voting.