Flutter WASM

Flutter가 업데이트 되면서 기존에 쓰던 코드가 동작하지 않는다.

그것은 바로 키체인과 플러터 앱과 통신하는 부분이다.

플러터에서 WASM 빌드를 지원하기 위해서 기존 방식을 싹 바꿔버렸다.

어쩌냐 따라주는 수 밖에.

기존에 만들어 둔 키체인 함수들은 사용이 안돼서, 새로운 방식으로 바꿔야 한다.

그런데 이 새로운 방식에 대한 예가 부족하다. 그래서 좀 고생했다.

extension SteemKeychainGetter on web.Window {
  @JS('steem_keychain')
  external JSObject? get steemKeychain;
}

extension type SteemKeychain(JSObject _) {
  @JS('requestHandshake')
  external void requestHandshake(JSFunction callback);
  @JS('requestVote')
  external void requestVote(JSString username, JSString permlink,
      JSString author, JSString weight, JSFunction callback,
      [JSAny? rpc]);
}

// call
      steemKeychain.requestVote(
        'etainclub'.toJS,
        '525804-eversteem'.toJS,
        'etainclub'.toJS,
        '9000'.toJS,
        jsCallback,
      );

간단해 보이지만, 되는 방법을 찾기 위해 고생했다.

그리고 다른 여러 키체임 함수들도 구현해야 한다.

그래도 포기하지 않고 시도하니 해결할 수 있었다.



Posted through the ECblog app (https://blog.etain.club)