<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: dongri</title>
    <description>The latest articles on DEV Community by dongri (@dongri).</description>
    <link>https://dev.to/dongri</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F41986%2F6a272435-925b-4e8d-9129-78b28325a4ff.jpg</url>
      <title>DEV Community: dongri</title>
      <link>https://dev.to/dongri</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dongri"/>
    <language>en</language>
    <item>
      <title>Hey</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Fri, 21 Aug 2020 14:51:36 +0000</pubDate>
      <link>https://dev.to/dongri/hey-4b0f</link>
      <guid>https://dev.to/dongri/hey-4b0f</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/dongri/hey" rel="noopener noreferrer"&gt;https://github.com/dongri/hey&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey! is alive?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>solidityとweb3のkeccak256について</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Wed, 10 Jun 2020 09:54:38 +0000</pubDate>
      <link>https://dev.to/dongri/solidity-web3-keccak256-2bpo</link>
      <guid>https://dev.to/dongri/solidity-web3-keccak256-2bpo</guid>
      <description>&lt;p&gt;Solidity側で以下のようにsha3&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;byte32 solidityMessage = keccak256(abi.encodePacked(address, msg.value, stringKey));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Web3では以下のように作成&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;web3Message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Web3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;utils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;soliditySha3&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="na"&gt;t&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;address&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;v&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;t&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;uint&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;v&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;123456&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;t&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;v&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;secret-key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;検証&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;solidityMessage&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nx"&gt;web3Message&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>solidity</category>
      <category>web3</category>
      <category>keccak256</category>
    </item>
    <item>
      <title>cryptotako.com</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Sun, 31 May 2020 01:49:07 +0000</pubDate>
      <link>https://dev.to/dongri/cryptotako-com-4i8b</link>
      <guid>https://dev.to/dongri/cryptotako-com-4i8b</guid>
      <description>&lt;p&gt;I developed a service called &lt;a href="https://cryptotako.com" rel="noopener noreferrer"&gt;cryptotako.com&lt;/a&gt; in a private project.&lt;/p&gt;

&lt;p&gt;You can transfer ETH through the system without asking for the other party's Ethereum address.&lt;/p&gt;

&lt;p&gt;The main features of the service are as follows&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log in with your social network accounts such as Twitter, GitHub, etc.&lt;/li&gt;
&lt;li&gt;Log in from your MetaMask, Dapper or other wallet&lt;/li&gt;
&lt;li&gt;Select Twitter, GitHub or ETH Address to send ETH&lt;/li&gt;
&lt;li&gt;Notifications on Twitter, GitHub&lt;/li&gt;
&lt;li&gt;Transaction history&lt;/li&gt;
&lt;li&gt;Twitter and GitHub account integration to generate addresses&lt;/li&gt;
&lt;li&gt;Private Key Export&lt;/li&gt;
&lt;li&gt;Change email, username&lt;/li&gt;
&lt;li&gt;Conversion in USD, JPY, the Fiat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffeo4qopq0822f7ggddtf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffeo4qopq0822f7ggddtf.png" alt="Alt Text" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhapw0b0fiye7w3xmkzlo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhapw0b0fiye7w3xmkzlo.png" alt="Alt Text" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkr97aoitj779hnecvod6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkr97aoitj779hnecvod6.png" alt="Alt Text" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fipw3yi43q5v8hw51blp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fipw3yi43q5v8hw51blp3.png" alt="Alt Text" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0efox6fb3w22t7nhfywm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0efox6fb3w22t7nhfywm.png" alt="Alt Text" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftat2dhh817pscytmq1xt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftat2dhh817pscytmq1xt.png" alt="Alt Text" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>crypto</category>
      <category>eth</category>
      <category>twitter</category>
      <category>github</category>
    </item>
    <item>
      <title>Get real ip of Fastify</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Fri, 29 May 2020 13:15:18 +0000</pubDate>
      <link>https://dev.to/dongri/get-real-ip-of-fastify-2goa</link>
      <guid>https://dev.to/dongri/get-real-ip-of-fastify-2goa</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;fastify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;trustProxy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;location / {
    proxy_pass http://cryptotako/;
    proxy_set_header X-Forwarded-for $remote_addr;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>python3 yum</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Fri, 29 May 2020 08:33:59 +0000</pubDate>
      <link>https://dev.to/dongri/python3-yum-3na5</link>
      <guid>https://dev.to/dongri/python3-yum-3na5</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  File "/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo vim /bin/yum
#!/usr/bin/python -&amp;gt; #!/usr/bin/python2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python -&amp;gt; #!/usr/bin/python2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python2</category>
      <category>python3</category>
      <category>yum</category>
    </item>
    <item>
      <title>🍺 飲んでdenoいじってみた</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Fri, 15 May 2020 13:24:08 +0000</pubDate>
      <link>https://dev.to/dongri/deno-2gpj</link>
      <guid>https://dev.to/dongri/deno-2gpj</guid>
      <description>&lt;p&gt;nodejsの代わりになるのか？！deno(ディーノ)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ brew install deno
$ deno -V
deno 1.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Welcome
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ deno run https://deno.land/std/examples/welcome.ts
Welcome to Deno 🦕
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;url先見てみると &lt;code&gt;console.log("Welcome to Deno 🦕");&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Web server
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ vim server.ts

import { serve } from "https://deno.land/std@0.50.0/http/server.ts";
const s = serve({ port: 8000 });
console.log("http://localhost:8000/");
for await (const req of s) {
  req.respond({ body: "Hello World\n" });
}

$ deno run --allow-net server.ts
http://localhost:8000/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>deno</category>
      <category>node</category>
    </item>
    <item>
      <title>go modでプライベートgithub参照の時</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Fri, 24 Apr 2020 05:12:30 +0000</pubDate>
      <link>https://dev.to/dongri/go-mod-github-18m5</link>
      <guid>https://dev.to/dongri/go-mod-github-18m5</guid>
      <description>&lt;p&gt;こんなエラー出たら&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;go: finding module for package github.com/***/***
go: downloading github.com/***/*** v0.0.0-20200424032624-7ee614f6e303
github.com/***/*** imports
        github.com/***/***/***: github.com/***/***@v0.0.0-20200424032624-7ee614f6e303: verifying module: github.com/***/***@v0.0.0-20200424032624-7ee614f6e303: reading https://sum.golang.org/lookup/github.com/***/***@v0.0.0-20200424032624-7ee614f6e303: 410 Gone
        server response:
        not found: github.com/***/***@v0.0.0-20200424032624-7ee614f6e303: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /tmp/gopath/pkg/mod/cache/vcs/2d253e2ea6ebdb2e3be78af07d3b07b09c565cb0a0efc6a1ac5deb8f6aeca582: exit status 128:
                fatal: could not read Username for 'https://github.com': terminal prompts disabled
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;以下のように設定&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ vim ~/.gitconfig
[url "git@github.com:"]
    insteadOf = https://github.com/

$ vim ~/.bashrc
export GO111MODULE=on # Go Mobules
export GOSUMDB=off
export GOPROXY=direct
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>go</category>
      <category>gomod</category>
      <category>gomodules</category>
    </item>
    <item>
      <title>geth syncmode</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Fri, 10 Apr 2020 09:09:42 +0000</pubDate>
      <link>https://dev.to/dongri/geth-syncmode-1b3e</link>
      <guid>https://dev.to/dongri/geth-syncmode-1b3e</guid>
      <description>&lt;h3&gt;
  
  
  Full
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;$ geth --syncmode full&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- BlockHaeder
- BlockBody
  - Transactions[]
  - Uncles[]
- Receipt
- State
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;700GB&lt;/p&gt;

&lt;h3&gt;
  
  
  Fast (default)
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;$ geth --syncmode fast&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- BlockHaeder
- BlockBody
  - Transactions[]
  - Uncles[]
- Receipt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;150GB&lt;/p&gt;

&lt;h3&gt;
  
  
  Light
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;$ geth --syncmode light&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- BlockHeader
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>geth</category>
      <category>ethereum</category>
      <category>synmode</category>
    </item>
    <item>
      <title>ERC</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Sun, 05 Apr 2020 08:25:43 +0000</pubDate>
      <link>https://dev.to/dongri/erc-1mjg</link>
      <guid>https://dev.to/dongri/erc-1mjg</guid>
      <description>&lt;p&gt;ERC: Ethereum Request for Comments&lt;/p&gt;

&lt;p&gt;ERC200&lt;br&gt;
&lt;a href="https://en.bitcoinwiki.org/wiki/ERC20" rel="noopener noreferrer"&gt;https://en.bitcoinwiki.org/wiki/ERC20&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ERC721&lt;br&gt;
&lt;a href="http://erc721.org/" rel="noopener noreferrer"&gt;http://erc721.org/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>erc</category>
      <category>ethereum</category>
    </item>
    <item>
      <title>Ethereum Wallet Sample code</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Wed, 01 Apr 2020 15:35:05 +0000</pubDate>
      <link>https://dev.to/dongri/ethereum-wallet-sample-code-10o2</link>
      <guid>https://dev.to/dongri/ethereum-wallet-sample-code-10o2</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;Wallet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ethereumjs-wallet&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;hdkey&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ethereumjs-wallet/hdkey&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;EthUtil&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ethereumjs-util&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;bip39&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bip39&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// input secret&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;privateKeyBuffer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;EthUtil&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toBuffer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0xb3daa3c32f6f6c71a3fc0c3af081e971c78706459f358b43451a1ba0d4ef3dba&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fromPrivateKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;privateKeyBuffer&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// public key from secret key&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;publicKey&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getPublicKeyString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;                                                                                                                                                                                                                                                               
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;public key: &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;publicKey&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// address from secret key&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAddressString&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;addres   : &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mnemonic&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;soldier clump basket brain suit wire whisper equip aim neck kangaroo rely&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// hd wallet from mnemonic&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;hdwallet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;hdkey&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fromMasterSeed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bip39&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mnemonicToSeedSync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;mnemonic&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// master key&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;master private key: &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;hdwallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;privateExtendedKey&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;wallet_hdpath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m/44'/60'/0'/0/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// generate wallets&lt;/span&gt;
&lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;hdwallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;derivePath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;wallet_hdpath&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;getWallet&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;wallet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAddressString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;address-&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;: &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;public key: 0x12dd7df75e3a2b2b2d17358221f0811a6a19251c66cf502a6ca02a23205f3d27b7c416eca8e9e7ae45e47862ff7bf0ccc013f27a81e4fc9a0d513808db28d90b
addres   : 0x72a60325bbcff70e6278f03482b7ae44d175503b
master private key: xprv9s21ZrQH143K3oPizmavifFSRXSdVFTxVn3zdWqa3X2AqAidQnef4sxPVLsFM9PtZcASh14fr3e1Fwac7qdvKyqQgdg8tCKTDQ4LLgkvLmh
address-0: 0x72a60325bbcff70e6278f03482b7ae44d175503b
address-1: 0x2bd38b66259092248e9a1943acd63dffda479010
address-2: 0x48a0806dc7c143f4e31a68dd5590cb57b1b89cda
address-3: 0x54072de9b7c7d29dbf189fb0ed4670d53975a6a6
address-4: 0xf6b82083948be7ce8e36699a00041ddc1be2354d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ethereum</category>
      <category>privatekey</category>
      <category>bip39</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Command CompileSwift failed with a nonzero exit code</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Mon, 30 Mar 2020 10:34:08 +0000</pubDate>
      <link>https://dev.to/dongri/command-compileswift-failed-with-a-nonzero-exit-code-29o1</link>
      <guid>https://dev.to/dongri/command-compileswift-failed-with-a-nonzero-exit-code-29o1</guid>
      <description>&lt;p&gt;&lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;Command&lt;/code&gt; + &lt;code&gt;K&lt;/code&gt;&lt;br&gt;
&amp;amp;&lt;br&gt;
&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;Command&lt;/code&gt; + &lt;code&gt;K&lt;/code&gt;&lt;/p&gt;

</description>
      <category>xcode</category>
      <category>ios</category>
    </item>
    <item>
      <title>Cloudflare &amp; IPFS</title>
      <dc:creator>dongri</dc:creator>
      <pubDate>Sun, 29 Mar 2020 07:21:56 +0000</pubDate>
      <link>https://dev.to/dongri/cloudflare-ipfs-me6</link>
      <guid>https://dev.to/dongri/cloudflare-ipfs-me6</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkzfn18qesllgumajvq4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkzfn18qesllgumajvq4v.png" alt="Alt Text" width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcm92yjsb05kio9gsrmmz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcm92yjsb05kio9gsrmmz.png" alt="Alt Text" width="800" height="417"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ dig +noall +answer TXT _dnslink.dongri.org
_dnslink.dongri.org.    299     IN      TXT     "dnslink=/ipfs/QmRQV16f9YMExNs3p8562xGHqQkWXe4CFPrVuGp9CGmFq9"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>cloudflare</category>
      <category>ipfs</category>
    </item>
  </channel>
</rss>
