soudegesu / blog

soudegesu's blog post
https://www.soudegesu.com/
1 stars 0 forks source link

NEO #62

Open soudegesu opened 6 years ago

soudegesu commented 6 years ago

https://github.com/neo-project

soudegesu commented 6 years ago

http://docs.neo.org/ja-jp/getting-started.html 公式docを参考にしてみる

soudegesu commented 6 years ago

まずは開発環境を構築しよう

soudegesu commented 6 years ago

Windows系が多いけど、これでもいけるのかな https://medium.com/@nickfujita/neo%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB-7fa816eeb6b9

soudegesu commented 6 years ago

.Net compilerが必要らしい。ここを参照。 https://www.youtube.com/watch?v=2EYK1ogr5i4

soudegesu commented 6 years ago

まずは openssl が必要

brew install openssl
soudegesu commented 6 years ago

ここからリンクをコピペしてダウンロードする https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.6-download.md

curl -O https://download.microsoft.com/download/D/C/F/DCFA73BE-93CE-4DA0-AB76-98972FD6E475/dotnet-sdk-2.1.101-osx-x64.pkg
soudegesu commented 6 years ago

neoj コンパイラをcloneする

https://github.com/neo-project/neo-compiler/tree/master/neoj

cd ~/private
git clone git@github.com:neo-project/neo-compiler.git
soudegesu commented 6 years ago

.Net のMacインストーラを実行する

sudo installer -pkg ~/dotnet-sdk-2.1.101-osx-x64.pkg -target /
soudegesu commented 6 years ago

インストールを確認する 別のターミナルを表示して以下を実行

cd ~/private/neo-compiler
dotnet --version
dotnet clean
dotnet restore
soudegesu commented 6 years ago

コンパイラをビルドする

dotnet build -c Release
soudegesu commented 6 years ago

neojのパスをコピる

.NET Core 向け Microsoft (R) Build Engine バージョン 15.6.82.30579
Copyright (C) Microsoft Corporation.All rights reserved.

  Restore completed in 72.56 ms for /Users/takaaki-suzuki/private/neo-compiler/neoa/neoa.csproj.
  Restore completed in 27.63 ms for /Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj.
  Restore completed in 15.96 ms for /Users/takaaki-suzuki/private/neo-compiler/neoj/neoj.csproj.
MSIL/ILModule.cs(226,42): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/ILModule.cs(148,50): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/ILModule.cs(173,58): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/Converter.cs(160,42): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/Converter.cs(542,21): warning CS0162: 到達できないコードが検出されました [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/Conv_Multi.cs(937,13): warning CS0162: 到達できないコードが検出されました [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
  neoa -> /Users/takaaki-suzuki/private/neo-compiler/neoa/bin/Release/netcoreapp1.0/neoa.dll
  neon -> /Users/takaaki-suzuki/private/neo-compiler/neon/bin/Release/netcoreapp2.0/neon.dll
  neoj -> /Users/takaaki-suzuki/private/neo-compiler/neoj/bin/Release/netcoreapp1.1/neoj.dll

ビルドに成功しました。

MSIL/ILModule.cs(226,42): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/ILModule.cs(148,50): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/ILModule.cs(173,58): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/Converter.cs(160,42): warning CS0168: 変数 'err' は宣言されていますが、使用されていません。 [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/Converter.cs(542,21): warning CS0162: 到達できないコードが検出されました [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
MSIL/Conv_Multi.cs(937,13): warning CS0162: 到達できないコードが検出されました [/Users/takaaki-suzuki/private/neo-compiler/neon/neon.csproj]
soudegesu commented 6 years ago

neoj を実行する

dotnet /Users/xxxxxxxxx/private/neo-compiler/neoj/bin/Release/netcoreapp1.1/neoj.dll
soudegesu commented 6 years ago

怒られた。 .Net1.0.4 でないといけないらしい。げ。

It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '1.0.4' was not found.
  - Check application dependencies and target a framework version installed at:
      /
  - Alternatively, install the framework version '1.0.4'.
soudegesu commented 6 years ago

1.0.4を別でインストールしたら成功した

dotnet /Users/xxxxx/private/neo-compiler/neoj/bin/Release/netcoreapp1.1/neoj.dll                         
> Neo.Compiler.JVM console app v2.0.3.0
> need one param for .class filename.
soudegesu commented 6 years ago

今度はこいつを clone してくる。

git clone https://github.com/neo-project/neo-devpack-java
soudegesu commented 6 years ago

java -version して 1.8 じゃないといけないらしい

soudegesu commented 6 years ago

あと、 maven が必要 brew install maven

soudegesu commented 6 years ago
mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T16:58:13+09:00)
soudegesu commented 6 years ago

neo-devpackage は maven プロジェクトなので

cd ~/private/neo-devpack-java
mvn install
soudegesu commented 6 years ago

ビルドした jar ファイルを移動する

sudo mv target/neo-devpack-java-2.3.0.jar /usr/local/share/dotnet/org.neo.smartcontract.framework.jar
soudegesu commented 6 years ago

そうすると

dotnet /Users/xxxxx/private/neo-compiler/neoj/bin/Release/netcoreapp1.1/neoj.dll (classファイル名のパス)

で実行できる

soudegesu commented 6 years ago

次の動画でJavaのチュートリアルがある。 https://www.youtube.com/watch?v=k1a4rTl01mQ

soudegesu commented 6 years ago

単に公式docに準じて作業するだけだったか。 http://docs.neo.org/ja-jp/sc/getting-started-java.html