Open soudegesu opened 6 years ago
http://docs.neo.org/ja-jp/getting-started.html 公式docを参考にしてみる
まずは開発環境を構築しよう
.Net
compilerが必要らしい。ここを参照。
https://www.youtube.com/watch?v=2EYK1ogr5i4
まずは openssl
が必要
brew install openssl
ここからリンクをコピペしてダウンロードする 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
neoj コンパイラをcloneする
https://github.com/neo-project/neo-compiler/tree/master/neoj
cd ~/private
git clone git@github.com:neo-project/neo-compiler.git
.Net
のMacインストーラを実行する
sudo installer -pkg ~/dotnet-sdk-2.1.101-osx-x64.pkg -target /
インストールを確認する 別のターミナルを表示して以下を実行
cd ~/private/neo-compiler
dotnet --version
dotnet clean
dotnet restore
コンパイラをビルドする
dotnet build -c Release
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]
neoj
を実行する
dotnet /Users/xxxxxxxxx/private/neo-compiler/neoj/bin/Release/netcoreapp1.1/neoj.dll
怒られた。 .Net
が 1.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'.
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.
今度はこいつを clone
してくる。
git clone https://github.com/neo-project/neo-devpack-java
java -version
して 1.8 じゃないといけないらしい
あと、 maven
が必要
brew install maven
mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T16:58:13+09:00)
neo-devpackage
は maven プロジェクトなので
cd ~/private/neo-devpack-java
mvn install
ビルドした jar
ファイルを移動する
sudo mv target/neo-devpack-java-2.3.0.jar /usr/local/share/dotnet/org.neo.smartcontract.framework.jar
そうすると
dotnet /Users/xxxxx/private/neo-compiler/neoj/bin/Release/netcoreapp1.1/neoj.dll (classファイル名のパス)
で実行できる
次の動画でJavaのチュートリアルがある。 https://www.youtube.com/watch?v=k1a4rTl01mQ
単に公式docに準じて作業するだけだったか。 http://docs.neo.org/ja-jp/sc/getting-started-java.html
https://github.com/neo-project