<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Solidity | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<atom:link href="https://laboratory.kazuuu.net/category/solidity/feed/" rel="self" type="application/rss+xml" />
	<link>https://laboratory.kazuuu.net</link>
	<description></description>
	<lastBuildDate>Wed, 29 Dec 2021 21:36:29 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://laboratory.kazuuu.net/wp-content/uploads/2021/02/cropped-L-32x32.png</url>
	<title>Solidity | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<link>https://laboratory.kazuuu.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>solidityでシンプルストレージを作成する</title>
		<link>https://laboratory.kazuuu.net/creating-simple-storage-with-solidity/</link>
					<comments>https://laboratory.kazuuu.net/creating-simple-storage-with-solidity/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 29 Dec 2021 21:36:29 +0000</pubDate>
				<category><![CDATA[Solidity]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=11084</guid>

					<description><![CDATA[コントラクト指向言語solidityでシンプルストレージを作成してみます。 目次 ■PC環境■シンプルストレージを作成する■コード■コンパイルからのデプロイ、検証 ■PC環境 Windows10 Solidity言語用C [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>コントラクト指向言語solidityでシンプルストレージを作成してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■シンプルストレージを作成する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li></ol></li><li><a href="#toc4" tabindex="0">■コンパイルからのデプロイ、検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10</p>
<p><span data-slate-fragment="JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlNvbGlkaXR5JUU4JUE4JTgwJUU4JUFBJTlFJUU3JTk0JUE4Q29udHJhY3QlRTklOTYlOEIlRTclOTklQkElRTclOTIlQjAlRTUlQTIlODMlRUYlQkMlODhJREUlRUYlQkMlODklMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCUyQyUyMnNlbGVjdGlvbnMlMjIlM0ElNUIlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjIzZjJhYmVmMzQ4OTc0N2E0OGMwZTEwZGE1MDA3ODRjYyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmRhNjdhMjg1N2VlYjQxMGY4YTY2M2QyMjM4OTM3ODI4JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNWY5YTBlNjM1YmI0NDI4NTliM2JlNmRiMzEyNTAzOWQlMjIlN0Q=">Solidity言語用Contract開発環境（IDE）</span>「Remix-ide」（<a href="https://remix.ethereum.org/">https://remix.ethereum.org/</a>）</p>
<h2><span id="toc2">■シンプルストレージを作成する</span></h2>
<p>では、シンプルストレージを作成しますので、コードを書いていきます。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>pragma solidity ^0.8.3;

contract SimpleStorage{
	string public data;
	
	function set(string memory _data) public{
		data = _data;	
	}
	
	function get() view public returns(string memory){
	    return data;
	}
}</pre>
<p>まずは「pragma solidity」でコンパイラのバージョン指定をします。今回はバージョン0.8.3。</p>
<p>その後、SimpleStorageというスマートコントラクトを定義します。定義したコントラクト内で関数などを定義していきます。dataをstring（文字列）が入る状態にし、publicで呼び出させるようにする。</p>
<p>次にset()関数を定義し、括弧内では、string（文字列）をmemoryに保存するように設定する。このset()関数は、外部からも内部から呼び出せるpublicで、関数が呼び出された時に実行される処理は、「data = _data」とする。</p>
<p>定義後、get()関数を定義し、この関数は「view」でデータの閲覧のみを行い、publicで呼び出させるようにする。さらに、returnsで関数のreturnsタイプであることを示し、memoryに保存されたstring（文字列）を返す。さらに関数が呼び出された時に実行される処理は、returnでdata内の情報を返す。</p>
<h2><span id="toc4">■コンパイルからのデプロイ、検証</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1.png"><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-11085" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1-219x300.png" alt="" width="219" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1-219x300.png 219w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1-747x1024.png 747w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1-768x1053.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1-1120x1536.png 1120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-112949-1.png 1250w" sizes="(max-width: 219px) 100vw, 219px" /></a></p>
<p>「Remix-ide」から「SOLIDITY COMPILER」を選択し、「Compile (ファイル名).sol」ボタンをクリックする。「compilerMetadata is modifyingcontracts/artifacts/SimpleStorage.json」といった出力が表示されるが一旦無視する。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113115-1.png"><img decoding="async" class="alignnone size-medium wp-image-11086" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113115-1-255x300.png" alt="" width="255" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113115-1-255x300.png 255w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113115-1-869x1024.png 869w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113115-1-768x905.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113115-1.png 1250w" sizes="(max-width: 255px) 100vw, 255px" /></a></p>
<p>コンパイル後、「DEPLOY&amp;RUN TRANSACTIONS」を選択し、「ENVIRONMENT」が「Java Script VM」になっているかを確認する。Java Script VMは、Web<span data-slate-fragment="JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFMyU4MyU5NiVFMyU4MyVBOSVFMyU4MiVBNiVFMyU4MiVCNiVFNCVCOCU4QSVFMyU4MSVBNyVFMyU4MSVBRSVFNyU5NiU5MSVFNCVCQyVCQyVFNSVBRSU5RiVFOCVBMSU4QyVFMyU4MyVBMiVFMyU4MyVCQyVFMyU4MyU4OSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTJDJTIyc2VsZWN0aW9ucyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjc2ZTZlMjI5NzE0NjRkZWFiNjQ4NDRjNjNhZjJhZmVkJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyMGZjMjBhYjEyNGYzNDExNzlkNzJmZmJhOWQ0YmUwZjYlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJhZTAyNjJjMjgwMTg0MjA5YTBhY2NhZjIyYzU2ZDc5ZCUyMiU3RA==">ブラウザ上での疑似実行モード。</span></p>
<p>その後、「Deploy」ボタンをクリックする。クリックするとデプロイが完了となり、「Deployed Contracts」の下にコンスタントが表示される。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1.png"><img decoding="async" class="alignnone size-medium wp-image-11087" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1-240x300.png" alt="" width="240" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1-240x300.png 240w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1-818x1024.png 818w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1-768x962.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1-1227x1536.png 1227w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-19-113703-1.png 1250w" sizes="(max-width: 240px) 100vw, 240px" /></a></p>
<p>今回定義したset()関数に、文字列を渡してみると、memoryに保存するように設定しているため、data内には、string（文字列）の「hello」が格納され、get()関数でもdata内の情報が返されることが確認できました。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/creating-simple-storage-with-solidity/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SolidityでSolデータをコンパイルすると「compiler Metadata is modifying」と表示される</title>
		<link>https://laboratory.kazuuu.net/when-i-compile-sol-data-in-solidity-i-get-compiler-metadata-is-modifying/</link>
					<comments>https://laboratory.kazuuu.net/when-i-compile-sol-data-in-solidity-i-get-compiler-metadata-is-modifying/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Mon, 29 Nov 2021 21:36:48 +0000</pubDate>
				<category><![CDATA[Solidity]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=10962</guid>

					<description><![CDATA[オブジェクト指向プログラミング言語「Solidity」でSolデータをコンパイルすると「compiler Metadata is modifying」と表示されることについて書いてみます。 「Remix（Browser- [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>オブジェクト指向プログラミング言語「Solidity」でSolデータをコンパイルすると「compiler Metadata is modifying」と表示されることについて書いてみます。</p>
<p>「Remix（Browser-Solidity）（<a href="https://remix.ethereum.org/">https://remix.ethereum.org/</a>）」というIDE（統合開発環境）を使用し、新しいSolデータを作成し、プログラムを記述し、コンパイルします。</p>
<h3>■コード</h3>
<pre>pragma solidity ^0.8.3;

contract HelloWorld {
    string public greet = "Hello World!";
}</pre>
<p>今回書いたプログラムは上記です。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-111648-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10963" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-111648-1-300x155.png" alt="" width="300" height="155" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-111648-1-300x155.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-111648-1-1024x530.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-111648-1-768x398.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-111648-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コンパイルすると、「compilerMetadata is modifyingcontracts/artifacts/HelloWorld.json」という警告のポップアップが表示されました。「compilerMetadataは変更中です」という内容で、これを表示させないようにしてみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10964" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-300x243.png" alt="" width="300" height="243" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-300x243.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1024x830.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-768x622.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Remix（Browser-Solidity）の左下にある歯車マークをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10965" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1-187x300.png" alt="" width="187" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1-187x300.png 187w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1-639x1024.png 639w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1-768x1231.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1-959x1536.png 959w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112002-1-1.png 1250w" sizes="(max-width: 187px) 100vw, 187px" /></a></p>
<p>クリックすると、「SETTING」の項目が表示され、「General settings」の「Generate contract metadata. Generate a JSON file in the contract folder. Allows to specify library addresses the contract depends on. If nothing is specified, Remix deploys libraries automatically.（コントラクトのメタデータを生成します。コントラクトフォルダにJSONファイルを生成します。コントラクトが依存しているライブラリのアドレスを指定できます。何も指定しない場合、Remixは自動的にライブラリをデプロイします。）」のチェックボックスからチェックを外します。</p>
<p>チェックを外した後に、Solデータを、コンパイルすると「compilerMetadata is modifyingcontracts/artifacts/HelloWorld.json」という警告のポップアップが表示されなくなりました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112644-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10966" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112644-1-300x178.png" alt="" width="300" height="178" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112644-1-300x178.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112644-1-1024x606.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112644-1-768x455.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/11/スクリーンショット-2021-11-05-112644-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>その後、「DEPLOY &amp; RUN TRANSACTIONS」で「Deploy」を行い、greetをクリックすると、「Hello World!」の文字列が表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/when-i-compile-sol-data-in-solidity-i-get-compiler-metadata-is-modifying/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
