資本家を目指すカワウソのブログ

投資やITのことについて書くカワウソのブログ

【ビットコインFX】祝100万円突破!相場の今後は?

 

年末年始のお祭りで仮想通貨を購入したはいいものの、急落して含み損を抱えている…

損を確定したくないし、長期で考えれば上がると思うから保有しておきたい…

 

保有銘柄を塩漬けにしている方、きっと多いと思います。

僕もそうです。泣

※塩漬けは、主に株式投資で使われる用語で、保有している銘柄が買値より大幅に下落し、売却した場合に損失が大きくなるため、「売るに売れない状態」のことをいいます。

 

そんな今できること

  1. 日本円を稼ぎ、優良銘柄を底値で仕込む
  2. FXで遊ぶ
  3. なにもしない

 

金管理を徹底できなかった僕は日本円の余剰資金が足りず、新規に仕込んでいくことはできません…

 

日本円が足りない!長期で投資のリターンを待つなんてやってられない!

そう思った方も少なくないのではないでしょうか。

 

そこで!

 

FXに挑戦です。

 

 

FXは正しく勉強すれば怖いものではない、とよく聞きます。

では本当にそうなのか、実際にやってみて体験していきたいと思います。

テクニカル分析を中心に勉強していきます。

 

 

さっそく直近のビットコインのチャートを見ていきます。

(2018年2月18日)

f:id:mizoren8:20180218211315p:plain

写真はDMMビットコインレバレッジBTC/JPY(1時間足)です。

 

僕は普段bitFlyerのチャートを使っているのですが、説明の都合上DMMのチャートを載せています。

※取引所によって価格が異なるため、微妙に目標価格も異なることに注意してください。

 

2/6に直近の最安値60万円台をつけ、その後上昇していきました。

今回注目したのは100万円のライン(図中の赤線)です。

 

緑で囲んだところ(左から2つ)は100万円のラインにトライしていったところで、2回ほど上抜けに失敗しています。

 

3回目の挑戦に向かったところで、

・底値が順調に切りあがっていたこと

・短期移動平均線が強く上昇していたこと

 

この辺りを根拠に、買いの注文を入れました。

黒い矢印始点の黄色のエリアが買い注文をしたあたりです。

 

そうして、左から3つ目の緑の丸のあたり、100万円のラインでもみ合いながら無事100万円突破を成功させました。

 

そこからは続伸し、利確ポイントかなと思った矢印の終点の黄色いエリアで決済しました。

 

今回はかなりビビッて0.01lotしか入れておらず

+3,000円

という結果でした。1lot入れておけば30万円…悔しい。

 

 

その後、一気に伸びた分の調整が入ったので、押し目を狙い指値を置いてみました。

f:id:mizoren8:20180218212809p:plain

こっちが実際に取引しているbitFlyerのチャートです。

 

写真にある通り、(小さくてスイマセン…)

①1,220,000円

②1,180,000円

指値を置いていたところ、

1,180,940円まで落ちてきて、それを底値に上昇しました。

②がギリギリで刺さらなかったのが悔しすぎる!!!

 

①が刺さったので、現在は含み益

+2000~3000円のレンジで動いています。(今回は0.05lot)

※130万円超えてきました。+5,000円強です(2/18 22:50)

 

利確のタイミングはもう少し引き延ばそうと思いますが、1,220,000円割れたらロスカットする予定です。

 

欲張らずにいかないと痛い目にあうので気を付けます…

 

 

今回気を付けたこと

 

・無理せず自信があるところのみエントリーする

・長期では上昇トレンドなので逆張りは狙わず、待って押し目を狙う

・利確のタイミングをエントリーと同時に考えておく

 

 

 

思ったこと

 

余談ですが、仮想通貨の王様ビットコインの価格が100万円を超えたことで、アルトコインも少しづつ元気を取り戻しているように見えます。

 

しかしながら、2017年12月~2018年1月のようにすべての銘柄が同じように上昇していないように見えます。

そういったことからも、とりあえず買ってガチホしていれば儲かる、という相場はもう終わったのでは?と感じています。

 

技術、マーケティング、コミュニティ、開発環境…

何が要因かは分かりませんが、長期保有する場合は今一度その銘柄が本当に伸びるのか、信頼をおけるのかを考えてみてもよいかもしれません。

 

ま、とはいっても2月後半は全体的に元気になるという予想が多く、相場が盛り上がるかなと思っています。期待して待ちましょう!!

 

 

今後もFXのトレード日記を書いていければと思います。

また、FXってなに?全然わからない!って方のためにエントリー記事も書くつもりです。

 

ではまた。

ITパスポート試験に1週間で受かる勉強法

IT業界で仕事をするにあたって登竜門的な扱いをされることが多い、

 

ITパスポート試験

 

個人的にITパスポート試験レベルに関しては、IT業界で仕事をしている人ではなくとも、今の時代を生きていくうえで必要な知識だと思います。

 

就活の際には、簿記やFP・TOEICなどでアピールできる会社も多数ありますが、ITパスポートもアピールポイントとして使えると思います。

 

そこで今回は、僕が実際に勉強していた方法を紹介していきます。これから受ける人の参考になれば幸いです。

 

基本情報技術者試験も合格済みなのですが、それについては別の記事で書きます。

 

合格するとこんな感じの賞状が来ます↓

f:id:mizoren8:20180213013826j:plain

 

ITパスポート(iパス)試験とは

iパスは、ITを利活用するすべての社会人・学生が備えておくべきITに関する基礎的な知識が証明できる国家試験です。 具体的には、経営戦略、マーケティング、財務、法務など経営全般に関する知識をはじめ、セキュリティ、ネットワークなどのITの知識、プロジェクトマネジメントの知識など幅広い分野の総合的知識を問う試験です。

【ITパスポート試験】情報処理推進機構 より引用

 

活用事例

◎ES(エントリーシート)に活用している企業

■株式会社アイネット
■SCSK株式会社
NECネッツエスアイ株式会社
NTTコムウェア株式会社
■株式会社NTTデータ
■株式会社大塚商会
キヤノンマーケティングジャパン株式会社
共同印刷株式会社
■クボタシステム開発株式会社
KDDI株式会社
興和株式会社
■コネクシオ株式会社
■埼玉県警察
■株式会社トヨタデジタルクルーズ
■株式会社トヨタコミュニケーションシステム
■株式会社日本総研情報サービス
日本電気株式会社
パナソニック株式会社
■株式会社日立製作所日立グループ11社
■株式会社PFU
富士通株式会社
■三菱総研DCS株式会社

 

この中には社内研修などに活用している企業も多くあるようです。

 

いわゆるIT企業のみならず、幅広い業界の企業も活用していることからも、基礎的IT知識は一般常識になりつつあることが分かります。

 

試験内容

 試験の内容は、

  • ストラテジ系(経営全般):35問程度
  • マネジメント系(IT管理):20問程度
  • テクノロジ系(IT技術):45問程度

以上の3つから構成されています。ITの試験とはいっても、プログラミングができる必要はありません。技術以外にも、ITリテラシーや経営・ビジネスに関することも出題されます。

 

合格点数

総合評価点
      600点以上/1,000点(総合評価の満点)

 

全体の6割で合格できます。

 

合格までに要した時間

僕が実際に勉強を始めてから合格するまでの期間は、

1週間

でした。

 

ちなみに、iパスは受験できる日程が非常に多いため、一度落ちてもめげすにガンガン受験することが合格への近道だと思います。

 

勉強方法

  1. 参考書を1周する
  2. 1で分からないところを中心に2周目にとりかかる
  3. ひたすら過去問を解く

僕はこの3つの方法で合格までたどり着きました。

非常にシンプルです。

 

参考にした書籍・WEBサイト

・イメージ&クレバー方式でよくわかる 柏木先生のITパスポート教室

https://www.amazon.co.jp/dp/B077STFYN5/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

ITパスポート過去問道場|ITパスポート試験ドットコム

 

僕が使ったのはこの二つのみです。

 

柏木先生の本はイラストが可愛いので飽きずに使うことができ、勉強が嫌にならないのでオススメです。ちなみに、基本情報技術者試験の際も柏木先生の書籍を使いました。

 

参考書で知識を叩き込んだのちは、過去問道場で過去問を解きまくりました。

 

iパスは過去問と同じものは出ないといわれていますが、形式に慣れることは非常に重要です。

 

注意点

・CBT(Computer Based Testing)方式で実施されるため、コンピュータ上での答え方に慣れていないと苦労するかもしれません。上記で紹介した過去問道場は、本番同様の形式になっているため、形式に慣れるための練習としても最適です。

 

・毎年、新しくHOTなITワードが出題されるため、どんなに参考書を網羅しても初見の問題があります。これは知識があれば解けますが、分からない場合はスルーしましょう。どんなに勉強してもわからない問題があると知っておくことで焦らずに解くことができます。

 

感想

普段からPCを使っている人には決して難しくありません。一般常識で解けてしまうものも多いです。

逆にITにうとい人にとってみれば、新しい用語が多く少々苦労すると思います。また、すでにIT知識がある人でも、情報セキュリティについてやアルゴリズムについてなどは、ちゃんと勉強したことが無い人も多いと思うので、試験を受けて改めて勉強してみる価値はあると思います。

 

今や、"IT企業"という枠組みもなくなってきています。どんな企業でもITを使わずに仕事をすることは不可能です。そんな現代において、基本的なITの知識をつけることは当たり前に求められてくるはずです。

 

余談ですが、この試験は国家試験なので、合格したら国家試験受かったって自慢できるかも??笑

 

文系だから関係ない、ではなく、文系こそこれからを生きていくうえで必須となるIT知識を勉強してみてはどうでしょうか。

 

申し込みは公式サイトからどうぞ

【ITパスポート試験】情報処理推進機構

 

自分でアルトコインを作ってみる②

前回の続きです。

自分のアルトコインをつくっていきます。

 

前回の記事でやったこと

  • 名前をHagicoin(HGC)に変更する


今回の記事で最後まで一気に書いていきます。

ちょっと長くなりますが、頑張りましょう!

 

 

ソースコードを編集していきます

< src/main.cpp における操作>
・"hashGenesisBlock"を検索し、ハッシュ値を変更してリセットする(2つあります)

hashGenesisBlock = uint256("0xf5ae71e26c74beacc88382716aced69cddf3dffff24f384e1808905e0188f68f");

hashGenesisBlock = uint256("0x");

 

・"pchMessageStart"の変更

pchMessageStart[0] = 0xfc;
pchMessageStart[1] = 0xc1;

pchMessageStart[0] = 0xf2;
pchMessageStart[1] = 0xc3;

 

・InitBlockIndex() をテキトウな値に変更(パブリックキー)

txNew.vout[0].scriptPubKey = CScript() << ParseHex("040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9") << OP_CHECKSIG;

txNew.vout[0].scriptPubKey = CScript() << ParseHex("123456789040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9") << OP_CHECKSIG;

 

・初期ブロックのメッセージを変更(なんでもいいです。)

今回はコインチェックのニュースを入れてみました。

const char* pszTimestamp = "NY Times 05/Oct/2011 Steve Jobs, Apple’s Visionary, Dies at 56";

const char* pszTimestamp = "BBC NEWS 27/Jan/2018 Coincheck: World's biggest ever digital currency 'theft'";


・ナンス値を0にする(2つあります)

block.nNonce = 2084524493;

block.nNonce = 0;


・ epoch timeを現在の値に変更
まずこのリンクで現在の epoch timeを取得し、コピペ。
Epoch Converter - Unix Timestamp Converter

f:id:mizoren8:20180131222937p:plain
赤枠の数字を以下のコードにペースト(2つあります)

block.nTime = 1317798646;

block.nTime = 1517405314;

 

・hashMerkleRootのハッシュ値をリセット

assert(block.hashMerkleRoot == uint256("0x97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9"));

assert(block.hashMerkleRoot == uint256("0x"));

 

・TimeSpanを短縮する

static const int64 nTargetTimespan = 3.5 * 24 * 60 * 60; // Hagicoin: 3.5 days
static const int64 nTargetSpacing = 2.5 * 60; // Hagicoin: 2.5 minutes

static const int64 nTargetTimespan = 5 * 30; // Hagicoin: 5 minitus
static const int64 nTargetSpacing = 1 * 30; // Hagicoin: 30 seconds


< checkpoint.cpp における操作>

・mapCheckpointsの中身変更、余計な部分を消す(1個目)

static MapCheckpoints mapCheckpoints =
boost::assign::map_list_of
( 1500, uint256(“0x841a2965955dd288cfa707a755d05a54e45f8bd476835ec9af4402a2b59a2967”))
( 4032, uint256(“0x9ce90e427198fc0ef05e5905ce3503725b80e26afd35a987965fd7e3d9cf0846”))
:
:
(585010, uint256(“0xea9ea06840de20a18a66acb07c9102ee6374ad2cbafc71794e576354fea5df2d”))
(638902, uint256(“0x15238656e8ec63d28de29a8c75fcf3a5819afc953dcd9cc45cecc53baec74f38”))
;

static MapCheckpoints mapCheckpoints =
boost::assign::map_list_of
( 0, uint256(“0x”))
;


コメントアウトする(1個目)

※削除しても問題ないと思います。

static const CCheckpointData data = {
&mapCheckpoints,
1410516073, // * UNIX timestamp of last checkpoint block
4896865, // * total number of transactions between genesis and last checkpoint
// (the tx=… number in the SetBestChain debug.log lines)
7000.0 // * estimated number of transactions per day after checkpoint
};

static const CCheckpointData data = {
&mapCheckpoints,
//1410516073, // * UNIX timestamp of last checkpoint block
//4896865, // * total number of transactions between genesis and last checkpoint
// (the tx=… number in the SetBestChain debug.log lines)
//7000.0 // * estimated number of transactions per day after checkpoint
};


・mapCheckpointsの中身変更(2個目)とコメントアウト(2個目)

static MapCheckpoints mapCheckpointsTestnet =
boost::assign::map_list_of
( 546, uint256(“0xa0fea99a6897f531600c8ae53367b126824fd6a847b2b2b73817a95b8e27e602”))
;
static const CCheckpointData dataTestnet = {
&mapCheckpointsTestnet,
1365458829,
547,
576
};

static MapCheckpoints mapCheckpointsTestnet =
boost::assign::map_list_of
( 0, uint256(“0x”))
;
static const CCheckpointData dataTestnet = {
&mapCheckpointsTestnet,
//1365458829,
//547,
//576
};


・以下のリンクのコードを挿入
gist.github.com
一度デバッグして、最初のハッシュ値とナンス値を出力する(初期ブロック生成のため)
※一番外側のif文の閉じかっこ"}"が抜けているので足しておいてください。

//// debug print
uint256 hash = block.GetHash();
printf(“%s\n”, hash.ToString().c_str());
printf(“%s\n”, hashGenesisBlock.ToString().c_str());
printf(“%s\n”, block.hashMerkleRoot.ToString().c_str());
assert(block.hashMerkleRoot == uint256(“0x”));
//-----------------------------------
  ここに追加コードを挿入
//------------------------------------
block.print();
assert(hash == hashGenesisBlock);


< net.cpp における操作>

・最初に接続する場所の変更、余計な部分を削除

// DNS seeds
// Each pair gives a source name and a seed name.
// The first name is used as information source for addrman.
// The second name should resolve to a list of seed addresses.
static const char *strMainNetDNSSeed[][2] = {
{"hagicointools.com", "dnsseed.hagicointools.com"},
{"hagicoinpool.org", "dnsseed.hagicoinpool.org"},
{"xurious.com", "dnsseed.ltc.xurious.com"},
{"koin-project.com", "dnsseed.koin-project.com"},
{"weminemnc.com", "dnsseed.weminemnc.com"},
{NULL, NULL}
};

// DNS seeds
// Each pair gives a source name and a seed name.
// The first name is used as information source for addrman.
// The second name should resolve to a list of seed addresses.
static const char *strMainNetDNSSeed[][2] = {
{"hagicointools.com", "(各自ローカルIPアドレスやAWSなどの番号)"},
{NULL, NULL}
};


◎/hagicoin/bitcoin-qt.pro の名前を変更 → /hagicoin/hagicoin-qt.pro


< bitcoinrpc.cpp  における操作>

・port 番号をテキトーな値に変更する

static inline unsigned short GetDefaultRPCPort()
{
return GetBoolArg("-testnet", false) ? 19332 : 9332;
}

static inline unsigned short GetDefaultRPCPort()
{
return GetBoolArg("-testnet", false) ? 5888 : 5777;
}

 

いよいよコンパイルします!

コンパイルする

cd ..
make -f makefile.unix USE_UPNP=-

 

※ここで上手くいかないことが多いです。
僕も悪戦苦闘しました…
そんなときは参照にも上げましたが、このサイトの通りやればうまくいくと思います。

medium.com

 

・起動する

hagi-coin/src$ ./hagicoind
hagicoind: main.cpp:2809: bool InitBlockIndex(): Assertion `block.hashMerkleRoot == uint256("0x")' failed.
Aborted (core dumped)

初回はエラーで落ちる(core dumped)
 

・.tarocoinに移動してdebug.logの中身を見る

/hagi-coin/src$ cd ~/.hagicoin/
~/.hagicoin$ vi debug.log
...
2018-01-31 14:03:45 Hagicoin version v0.8.7.4-gc1e46ab3a90b-beta ()
2018-01-31 14:03:45 Using OpenSSL version OpenSSL 1.0.1f 6 Jan 2014
2018-01-31 14:03:45 Default data directory /home/vagrant/.hagicoin
2018-01-31 14:03:45 Using data directory /home/vagrant/.hagicoin
2018-01-31 14:03:45 Using at most 125 connections (1024 file descriptors available)
2018-01-31 14:03:45 init message: Verifying wallet...
2018-01-31 14:03:45 dbenv.open LogDir=/home/vagrant/.hagicoin/database ErrorFile=/home/vagrant/.hagicoin/db.log
2018-01-31 14:03:45 Bound to [::]:9333
2018-01-31 14:03:45 Bound to 0.0.0.0:9333
2018-01-31 14:03:45 init message: Loading block index...
2018-01-31 14:03:45 Opening LevelDB in /home/vagrant/.hagicoin/blocks/index
2018-01-31 14:03:45 Opened LevelDB successfully
2018-01-31 14:03:45 Opening LevelDB in /home/vagrant/.hagicoin/chainstate
2018-01-31 14:03:45 Opened LevelDB successfully
2018-01-31 14:03:45 LoadBlockIndexDB(): last block file = 0
2018-01-31 14:03:45 LoadBlockIndexDB(): transaction index disabled
2018-01-31 14:03:45 Initializing databases...
2018-01-31 14:03:45 3785e34ccb6ced56e500487ea182e0856d31257b42238682d840c50d076df71e
2018-01-31 14:03:45 0000000000000000000000000000000000000000000000000000000000000000
2018-01-31 14:03:45 902debba0bdb096123f984101c53eb9064f1349854c21cf46c1956b558c5239c


最後の行の「2018-01-31 14:03:45 902debba0bdb0..........」
の部分をコピー
=マークルルート(検証用のルート)における初回のハッシュ値(ブロックの中身が正しいかチェックするためのもの)

 

・main.cpp の以下の部分にペースト

//// debug print
uint256 hash = block.GetHash();
printf("%s\n", hash.ToString().c_str());
printf("%s\n", hashGenesisBlock.ToString().c_str());
printf("%s\n", block.hashMerkleRoot.ToString().c_str());
assert(block.hashMerkleRoot == uint256("0x902debba0bdb096123f984101c53eb9064f1349854c21cf46c1956b558c5239c"));

 

・もう一度コンパイル(先ほどのmakeコマンド)する

・もう一度起動("./hagicoind")すると、しばらく動く。
※結構時間かかりました。


そして再びエラー

hagicoind: main.cpp:2845: bool InitBlockIndex(): Assertion `hash == hashGenesisBlock' failed.
Aborted (core dumped)

 

・またもやログをチェック

/hagi-coin/src$ cd ~/.hagicoin/
~/.hagicoin$ vi debug.log


・nonceとhashを確認する。
これ、僕の場合めっちゃ長かったです。
f:id:mizoren8:20180131235123p:plain
↑こんな感じが延々と続きます。
ナンスを総当たり法で攻めているというPOWの仕組みを改めて実感することができました。

 

2018-01-31 14:38:59 block.nTime = 1517402992
2018-01-31 14:38:59 block.nNonce = 537493
2018-01-31 14:38:59 block.GetHash = 2d63064b0827152138574099b3d61c35851067a0a52e26abf16839138a41dbab

ナンス値:537493
ハッシュ値:2d63064b0827152138574099b3d61c35851067a0a52e26abf16839138a41dbab

 

・以下の場所にペースト

◎hash「"0x"のあとにペースト」
<main.cpp>

uint256 hashGenesisBlock("0x2d63064b0827152138574099b3d61c35851067a0a52e26abf16839138a41dbab");
static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // Hagicoin: starting difficulty is 1 / 2^12
bool LoadBlockIndex()
{
if (fTestNet)
{
pchMessageStart[0] = 0xd2;
pchMessageStart[1] = 0xc3;
pchMessageStart[2] = 0xb7;
pchMessageStart[3] = 0xdc;
hashGenesisBlock = uint256("0x2d63064b0827152138574099b3d61c35851067a0a52e26abf16839138a41dbab");
}

<checkpoints.cpp>

static MapCheckpoints mapCheckpoints =
boost::assign::map_list_of
( 0, uint256("0x2d63064b0827152138574099b3d61c35851067a0a52e26abf16839138a41dbab"))
;

 
◎nonce「"block.nNonce =0"の部分を変更」
<main.cpp>

block.nVersion = 1;
block.nTime = 1469235421;
block.nBits = 0x1e0ffff0;
block.nNonce = 537493;

if (fTestNet)
{
block.nTime = 1517402992;
block.nNonce = 537493;
}

・再びコンパイルしてから、起動してみる。

Error: To use hagicoind, you must set a rpcpassword in the configuration file:
/home/vagrant/.hagicoin/hagicoin.conf
It is recommended you use the following random password:
rpcuser=hagicoinrpc
rpcpassword=rPjbWWErf3oxmRfnxwWv5KuFmBuyUYNkAGVtsLjKziB
(you do not need to remember this password)
The username and password MUST NOT be the same.
If the file does not exist, create it with owner-readable-only file permissions.
It is also recommended to set alertnotify so you are notified of problems;
for example: alertnotify=echo %s | mail -s "Hagicoin Alert" admin@foo.com

・どうやら/.hagicoin配下にconfファイルが無いと怒られているらしいので新しくファイルを作成する。

/hagi-coin/src$ cd ~/.hagicoin
~/.hagicoin$ ls
blocks chainstate db.log debug.log peers.dat wallet.dat
~/.hagicoin$ touch hagicoin.conf
~/.hagicoin$ ls
blocks chainstate db.log debug.log hagicoin.conf peers.dat wallet.dat
~/.hagicoin$ vim hagicoin.conf

・作成したhagicoin.confの中にオススメされたユーザーネームとパスワードを書き込む。(これは何でもいいので自分で考えたものでもいいです)

rpcuser=hagicoinrpc
rpcpassword=rPjbWWErf3oxmRfnxwWv5KuFmBuyUYNkAGVtsLjKziB

 
・もう一度起動するとうまくいく。

/hagi-coin/src$ ./hagicoind

この状態で動かなくなる。
 

・別の端末を開く

・getinfoで情報を取得する

/hagi-coin/src$ ./hagicoind getinfo
{
"version" : 80704,
"protocolversion" : 70002,
"walletversion" : 60000,
"balance" : 0.00000000,
"blocks" : 0,
"timeoffset" : 1,
"connections" : 4,
"proxy" : "",
"difficulty" : 0.00024414,
"testnet" : false,
"keypoololdest" : 1517411108,
"keypoolsize" : 101,
"paytxfee" : 0.00000000,
"mininput" : 0.00001000,
"errors" : "URGENT: Alert key compromised, upgrade required"
}

何やらエラーメッセージがあるのですが、バージョンが古いことが原因でアップグレードすればよい(ウォレット関係?)だけみたいなので、今回は疲れたから無視!

無事Hagicoin完成!!

長かった… 

以上お疲れさまでした!

自分でアルトコインを作ってみる①

今回は技術寄りの記事を書いていきます。

テーマ:オリジナルのアルトコインを作る
空前の仮想通貨ブームが巻き起こり、自分独自のコインを持ちたい!って人もいるはず。

コインの作り方を調べてみると、やり方は


①CounterPartyを使う
②MonaPartyを使う
WAVESを使う
④Ethereumを使う
⑤Bitcoinなどのオープンソースを元にして改変する


他にも色々ありますが、
今回は技術の勉強の意味も込めて⑤に挑戦していきます。

何に使うかとかを考えるより、まず中身をいじってみて、ビットコイン型のブロックチェーンについて知ろう!
を目的にやっていきます。

※まだまだ専門知識などは勉強中なので、説明や知識に誤りがある場合もあります。何かあればご指摘いただけると幸いです


<方針>

ライトコインソースコードをもとにオリジナルのコインを作る

今回はビットコイン(Bitcoin)をベースに作られたライトコイン(Litecoin)のコードを使います。

余談ですが、モナコイン(Monacoin)もライトコインをベースに作られたものです。

本来は、発行枚数や難易度調整なども自分でデザインして改変していくべきなのですが、

今回は詰まる人が多いといわれるジェネシスブロック(初期ブロック)の作成に焦点を当てていきます。

ですので、細かい設定は変更しません。


<名前>

今回はHagicoin(HGC)という名前のコインを作ります。

通称ハギコ。

萩です。(僕と関係が深い組織の花なのです…)

適宜好きな名前に変更して進めてください。


<始めに>

僕の現在の状況をもとに、どれくらいの知識があれば作れるか参考までに書いてみます。

・プログラミングの経験がちょっとでもあれば問題ないです。(僕もC++は今回初めて触りました。)
ブロックチェーンの知識が少しでもあると良いかも?(でも今回はハッシュとナンスが分かればいけそう)
・ITパスポートや基本情報技術者くらいのIT知識もあるとよい?


<参考にしたサイト>

・Complete Guide on How to Create a New Alt Coin
https://bitcointalk.org/index.php?topic=225690.msg2374550#msg2374550
・coin cloning guide
https://bitcointalk.org/index.php?topic=1115063.0
・Error Guide For Altcoin Daemon Compilation
https://medium.com/@aniketengg.225/error-guide-for-altcoin-daemon-compilation-2e52b22029e7

※日本語のサイトはかなり少ない印象です。

<参考にした書籍>

仮想通貨ブロックチェーン&プログラミング入門


それでは早速いきましょう!

<動作環境>

windows10+Virtual Box 5.1+Ubuntu 14.04.5

今回はLinuxコマンドが使いたかったので、元はWindowsですがVMを使ってUbuntuで動かします。

Windowsでも可能らしいですが、Linuxをつかった記事が圧倒的に多い気がします。

<コードをダウンロードする>

以下リンクからLitecoinのソースコード(zipファイル)をダウンロードする。
https://github.com/litecoin-project/litecoin/releases/tag/v0.8.7.4

※新しいものは複雑で扱いにくいため、今回は2014年当時のバージョン0.8.7.4を使用。

ダウンロード後、分かりやすいようにフォルダ名をlitecoin(バージョン)からhagicoinに変更しました。

<必要なツールをインストール>

コンパイルに必要なツールをインストールする

sudo apt-get install libdb-dev libdb++-dev libboost-all-dev libminiupnpc-dev libminiupnpc-dev libevent-dev libcrypto++-dev libgmp3-dev
sudo apt-get install build-essential libssl-dev libdb-dev libdb++-dev libboost-all-dev git libssl1.0.0-dbg


・Litecoinの文字列をHagicoinに変更する
※以下では「大文字・小文字・末尾にdが付いたもの・単位」の4つを変更しています。

 find ./ -type f -readable -writable -exec sed -i "s/Litecoin/Hagicoin/g" {} \;
 find ./ -type f -readable -writable -exec sed -i "s/litecoin/hagicoin/g" {} \;
 find ./ -type f -readable -writable -exec sed -i "s/litecoind/hagicoind/g" {} \;
 find ./ -type f -readable -writable -exec sed -i "s/LTC/HGC/g" {} \;


はい、ここまで出来たらいよいよジェネシスブロック作成に必要な、
ハッシュ値やナンス値などを改変していきます。

ここからはかなり長くなるので第一回はここまで。

資産運用セミナーに潜入してみた

どうもシュウトです。

 

今回はイベントレポとして、

1月13日に開かれた

「はじめての資産運用講座」

に参加してきましたので、その感想を書いていきます。

今後もITや金融関連の勉強会やセミナーなどは参加していきたいと考えています!

 

 

講座の概要

 

プログラムはこんな感じ

f:id:mizoren8:20180116111849j:plain

主催:日本証券業協会

対象:資産運用未経験・初心者

参加料:無料

形式:講義形式

 

参加した経緯・狙い

 

証券会社のサイトをみていたところ、偶然発見した日本証券業協会のページに講座の要項があり興味を持ちました。

そういえば、プロから金融知識を教えてもらったことがないのでこれはいい機会だと思い応募しました。

 

 

日本証券業協会がのページの中に、資産運用について勉強になりそうなものがあったので、紹介しておきますね。

 

今日からスタート!資産運用と証券投資|日本証券業協会

(※すでに金融知識がある人には簡単すぎるかと思います)


 

 参加の狙いとしては2つ

  1. 今勉強中の金融知識は正しいかプロの話を聞いて確かめたい!
  2. 資産運用に興味をもっている人(セミナーに来る人)はどういった人たちか知りたい!

 

内容

講座の内容に関してザックリと紹介すると以下の通りです。

  • 資産運用とは
  • 金融商品の説明
  • B/S・P/Lの読み方
  • 資産形成支援制度について

 

まず、今後の生活にかかる費用はいくらか確認して、必要な資金はいくらか・どうやって調達するかについて学びました。

 

結婚・マイホーム購入・こどもの教育・老後…

思っていたよりお金かかるんですね(泣)

 

例えば結婚!

結婚・婚約から新婚旅行までにかかった費用の平均額は

 469.7万円 (※日本証券業協会の資料から引用)

 

僕はできるだけ早く結婚したい派なんですが、それまでにこんなに貯められるかな?って不安になりました。現実は厳しい…

 

だから、普通預金ばかりを利用しないで、他の金融商品も利用して適切に資産を形成していきましょうとのお話でした。

 

代表的な金融商品の特徴はこんな感じ。

f:id:mizoren8:20180116133229p:plain

見てわかる通り、すべてが◎なものはありません。

年齢や資産の額、リスク許容度に応じて、資産運用をしていく必要があります。

 

<例> カワウソ 学生 22歳

「まだ学生だし安全性なんて求めないぜ!収益重視!」

となると、国内株式を多めにして、債券・普通預金を少々。

 

年齢を重ねるにつれて安全性を求めるようになると、債券や普通預金の割合が多くなっていくでしょう。

 

なお僕は、

安全性:× 
収益性:卍 
流動性:取引所のサーバー落ちたら引き出せない

とかいう仮想通貨に全額突っ込んでますが、皆さんはマネしないでくださいね…

こんな攻めたポートフォリオ組めるのは学生(若さ)の特権かも?笑

 

人それぞれ状況が違うので、その人に合った資産運用ができるように、しっかり勉強していく必要があるなと思いました。

 

僕も、仮想通貨がしばらく沼に沈みそうな雰囲気があるのでいいタイミングで株に資金を移したいと考えています。

 

資産形成支援制度「NISA・iDeCo」ってなに?

NISA

2014年1月からスタートした税優遇制度で、みなさんも聞いたことあると思います。銀行のポスターとかでよく張ってありますね。特徴は以下の通り。

 

年間120万円の非課税投資枠が設定され、株式/投資信託等の配当/譲渡益等が非課税対象になる。

・投資した年から最大5年間有効。

 

通常は配当金や譲渡益に20.315%税金が発生します。

それが、NISAを利用すれば非課税になるのです!嬉しい。

 

 

また、2018年1月からスタートした「つみたてNISA」という制度もあります。

これは、より少額で分散・長期投資をしたい人にぴったりの制度です。

 

NISAとの違いは、

・有効期間が20年間

・非課税になる投資額は年間40万円

・投資方法は積み立て投資に限る(例えば一度に40万円を投資することは不可)

 

しかも、購入可能な商品は、長期・積立・分散投資に適した一定の投資信託に限られています。

 

このため、

「より長い期間でNISAを利用したい」「銘柄が多すぎて選べない」

なんて人は積み立てがいいと思います。

 

このほか未成年者の口座を開き、親が代理で運用できるジュニアNISAという制度もあります。

 

 

iDeCo(個人型確定拠出年金

 

私的年金制度で、月々一定の掛け金を出し、投資信託や定期預金などの金融商品を選び運用します。そして60歳以降に、運用した資産を一括または分散して受け取ります。

 

簡単にいうと、自分で入り、自分で選んで運用する年金です。

 

一般的にサラリーマンの方ですと、基礎年金(1階)・厚生年金(2階)・企業年金(3階)の3階建てになっているケースが多いと思います。

(※企業により異なります)

 

iDeCoは、いわば4階目の年金です。老後の生活を考えると3階までの年金受給額で、十分かどうかはわからず、不安が大きいと思います。そんな不安な状況を支えてくれるのがiDeCoです。

 

さらにiDeCoには税金優遇措置があります。

 

掛け金が全額所得控除される

資産運用益は非課税になる

年金の受け取り時も非課税になる

 

ただし、60歳(給付開始年齢)になるまでは引き出せないので注意です。

 

節税のためにふるさと納税をする方も多いですが、iDeCoの利用も検討してもいいのかなって思います。

 

思ったこと

狙いの2に関して。

 

2.資産運用に興味をもっている人はどういった人たちか知りたい!

 

参加者は6割くらいが60歳以上。残りが30~50代の方たち。20代は僕も含め3人くらいだったと思います。

 

若い人がいない!!!

 

確かに考えてみれば、友達同士で投資とか将来のお金の話とかしないなぁ…

 

日本の金融教育はアメリカに比べると不十分だといわれますが、確かに中高で投資とかお金の稼ぎ方とか学んでこなかったですよね。

 

実際、退職を目前にして老後を考え始めた方や、結婚してから初めて養育費について考えたという方も少なくないと思います。

 

でも、焦って勉強しても身にならないし、かといって勉強しないと詐欺にあう可能性も高まります。

 

だったら、充実した結婚生活・老後の生活を送るためにも、まだ時間に余裕のあるうちに、できるだけ早く金融の勉強をしておきたいなと感じました。

 

個人的には、

学生のうちから投資を始めて、運用しながらお金の使い方を学ぶ。

というスタイルが定着すれば面白いなーって思います。

若年層が変わっていけば日本も変わるかもね(遠い目)。

 

動機はなんであれ、お金についての知識が付くことはいいことだと思うので、漫画でもゲームでもたくさんそういうものが出てくればいいなぁ。

 ってかそういうアプリ作りたいなぁ…なんて思ってます。

 

 

ちなみに僕が投資を始めたきっかけは

「One Tap BUY」というアプリです。参考までに。

 

www.onetapbuy.co.jp

このアプリは初心者にぴったりでとても面白いので、

近いうちにこれについて紹介したいと思います。

 

また、漫画だと

インベスターZ

これをお勧めします!

あっという間に読んじゃって、気づいたら勉強になってます。

 

 

では今回はこんなところで。