Skip to content

Commit

Permalink
fix: client for Ganache
Browse files Browse the repository at this point in the history
  • Loading branch information
yk-saito committed Oct 19, 2023
1 parent e6960a2 commit ff385f3
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 8,984 deletions.
29 changes: 7 additions & 22 deletions packages/client/.metadata
Original file line number Diff line number Diff line change
@@ -1,38 +1,23 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
# This file should be version controlled and should not be manually edited.

version:
revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
channel: stable
revision: "ead455963c12b453cdb2358cad34969c76daf180"
channel: "stable"

project_type: app

# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
create_revision: ead455963c12b453cdb2358cad34969c76daf180
base_revision: ead455963c12b453cdb2358cad34969c76daf180
- platform: android
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
- platform: ios
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
- platform: linux
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
- platform: macos
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
- platform: web
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
- platform: windows
create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da
create_revision: ead455963c12b453cdb2358cad34969c76daf180
base_revision: ead455963c12b453cdb2358cad34969c76daf180

# User provided section

Expand Down
25 changes: 12 additions & 13 deletions packages/client/lib/TodoListModel.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,13 @@ import 'package:flutter/services.dart';
import 'package:http/http.dart';
import 'package:web3dart/web3dart.dart';
import 'package:web_socket_channel/io.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';

class TodoListModel extends ChangeNotifier {
List<Task> todos = [];
bool isLoading = true;
int? taskCount;
final String _rpcUrl = "http://127.0.0.1:7545";
final String _wsUrl = "ws://127.0.0.1:7545/";

//自分のPRIVATE_KEYを追加してください。
final String _privateKey =
"efbd8a3cf281e7d9bab2d66e7f230b4d887b5b3d14b268aa22159ea7a26f8868";
final String _rpcUrl = 'https://rpc.ankr.com/polygon_mumbai';

Web3Client? _client;
String? _abiCode;
Expand All @@ -37,9 +33,9 @@ class TodoListModel extends ChangeNotifier {
}

Future<void> init() async {
_client = Web3Client(_rpcUrl, Client(), socketConnector: () {
return IOWebSocketChannel.connect(_wsUrl).cast<String>();
});
var httpClient = Client();

_client = Web3Client(_rpcUrl, httpClient);

await getAbi();
await getCredentials();
Expand All @@ -52,14 +48,13 @@ class TodoListModel extends ChangeNotifier {
await rootBundle.loadString("smartcontract/TodoContract.json");
var jsonAbi = jsonDecode(abiStringFile);
_abiCode = jsonEncode(jsonAbi["abi"]);
_contractAddress =
EthereumAddress.fromHex(jsonAbi["networks"]["5777"]["address"]);
_contractAddress = EthereumAddress.fromHex(dotenv.env["CONTRACT_ADDRESS"]!);
}

//秘密鍵を渡して`Credentials`クラスのインスタンスを生成する。
Future<void> getCredentials() async {
_credentials = await _client!.credentialsFromPrivateKey(_privateKey);
_ownAddress = await _credentials!.extractAddress();
_credentials = EthPrivateKey.fromHex(dotenv.env["PRIVATE_KEY"]!);
_ownAddress = _credentials!.address;
}

//`_abiCode`と`_contractAddress`を使用して、スマートコントラクトのインスタンスを作成する。
Expand Down Expand Up @@ -112,6 +107,7 @@ class TodoListModel extends ChangeNotifier {
function: _createTask!,
parameters: [taskNameData],
),
chainId: 80001,
);
await getTodos();
}
Expand All @@ -127,6 +123,7 @@ class TodoListModel extends ChangeNotifier {
function: _updateTask!,
parameters: [BigInt.from(id), taskNameData],
),
chainId: 80001,
);
await getTodos();
}
Expand All @@ -142,6 +139,7 @@ class TodoListModel extends ChangeNotifier {
function: _toggleComplete!,
parameters: [BigInt.from(id)],
),
chainId: 80001,
);
await getTodos();
}
Expand All @@ -157,6 +155,7 @@ class TodoListModel extends ChangeNotifier {
function: _deleteTask!,
parameters: [BigInt.from(id)],
),
chainId: 80001,
);
await getTodos();
}
Expand Down
Loading

0 comments on commit ff385f3

Please sign in to comment.