1.プロジェクトを初期化する
mkdir helloworld cd helloworld トリュフinit
新しいフォルダーを作成し、初期化にtruffle initを使用します。接続されないことがあります。あと数回試してください。
FTPを使用してフォルダをローカルにダウンロードします。ファイルディレクトリは次のとおりです。
ファイルディレクトリは次のように説明されます。
- コントラクト/-トリュフのデフォルトのコントラクトファイルストレージアドレス。
- 移行/-ストアリリーススクリプトファイル
- アプリケーションと契約をテストするためのテスト/テストファイル
- truffle-config.js-Truffle構成ファイル
次に、スマートコントラクトを記述します
2.1。スマートコントラクトの記述
契約の下で新しい契約ファイルGreeter.solを作成します
プラグマの堅牢性> = 0.4.25 <0.7.0 ; 契約Greeter { アドレス作成者; 文字列の挨拶; コンストラクタ(文字列メモリ_挨拶)public { creator = msg.sender; 挨拶 = _greeting; } 関数挨拶()パブリックビューに戻り(列メモリ){ 戻り挨拶。 } 関数setGreeting(ストリングメモリ_newgreeting)パブリック{ 挨拶 = _newgreeting。 } }
2.2。新しいリリーススクリプト
./migrations/ディレクトリに新しいファイル2_deploy_contracts.jsを作成し、リリースコードを追加します。
var Greeter = Artifacts.require( "./ Greeter.sol" ); module.exports = function (deployer ){ deployer.deploy (Greeter、 "Hello、World!" ); };
2.3。構成ファイルtruffle-config.jsを変更する
module.exports = { networks:{ development:{ host: "127.0.0.1"、 // Localhost(default:none) port:8545、 // Standard Ethereum port(default:none) network_id: "*"、 // Anyネットワーク(デフォルト:なし) } }、 // ここで設定したデフォルトのモカのオプションは、使用して特別記者など モカ:{ // タイムアウト:100000 }、 // 設定あなたのコンパイラの コンパイラ:{ solc:{ //version: "0.5.1"、// solc-binから正確なバージョンを取得します(デフォルト:truffleのバージョン) // docker:true、//ローカルにインストールした "0.5.1"を使用します(デフォルト:false) / / 設定:{//最適化とevmVersionに関するアドバイスについては、solidityのドキュメントを参照してください // オプティマイザー:{ // 有効:false、 // 実行:200 // }、 // evmVersion: "byzantium" // } } } }
第三に、展開契約
トリュフコンパイル ガナッシュcli トリュフ migarte
4、テスト契約
truffleは、インタラクティブコンソールを介して準備済みのコントラクトと対話するためのより簡単な方法を提供します。
トリュフコンソール
基本的なインタラクティブコンソールは、任意のEVMクライアントに接続できます。ganacheやgethなどのEVM用の独自のローカル環境がすでにある場合は、トリュフコンソールを使用して対話することができます。したがって、チームで共有されている既製の開発EVMがある場合は、この権利を使用します。
トリュフ開発
インタラクティブコンソールは、起動時に開発用のブロックチェーン環境を自動的に生成します(実際、それとganacheは基礎となる実装メカニズムであり、どちらもデフォルトで10個のアカウントを生成します)。独自のEVM環境がない場合は、トリュフ開発を直接使用すると非常に便利です。
基本的なインタラクティブコンソールに入る
トリュフコンソール
Greeterスマートコントラクトコマンドを入力し、json構造を表示して印刷し、さまざまな属性を示します。
通話契約
Greeter.deployed()。次に((インスタンス)=> { greeter = インスタンス}) greeter.greet()
リファレンス:https://www.jianshu.com/p/2e2b3b12eb0e