dialect_web3 0.1.0 copy "dialect_web3: ^0.1.0" to clipboard
dialect_web3: ^0.1.0 copied to clipboard

A simple dart wrapper for Dialect's smart messaging protocol on Solana

example/dialect_web3_example.dart

import 'package:dialect_web3/dialect_web3.dart';
import 'package:solana/solana.dart';

import '../test/dialect_web3_test.dart';

void main() async {
  final client = RpcClient(programs.localnet.clusterAddress);
  final program = await createDialectProgram(
      client, Ed25519HDPublicKey.fromBase58(programs.localnet.programAddress));
  final Ed25519HDKeyPair user1 = await Ed25519HDKeyPair.random();
  final Ed25519HDKeyPair user2 = await Ed25519HDKeyPair.random();
  await fundUsers(client: client, keypairs: [user1, user2]); // fund users

  final List<Member> dialectMembers = [
    Member(publicKey: user1.publicKey, scopes: [true, true]),
    Member(publicKey: user2.publicKey, scopes: [false, true])
  ];

  // create dialect on behalf of first user
  final user1Dialect = await createDialect(
      client: client,
      program: program,
      owner: KeypairWallet.fromKeypair(user1),
      members: dialectMembers,
      encrypted: false);

  // send message
  await sendMessage(client, program, user1Dialect,
      KeypairWallet.fromKeypair(user1), "Hello dialect!");

  // get dialect
  final dialect = await getDialectForMembers(
      client, program, dialectMembers.map((e) => e.publicKey).toList());
  print(dialect.dialect.messages.map((e) => e.text));
}
0
likes
120
points
14
downloads

Publisher

unverified uploader

Weekly Downloads

A simple dart wrapper for Dialect's smart messaging protocol on Solana

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

borsh, borsh_annotation, build_runner, convert, crypto, pinenacl, recase, solana

More

Packages that depend on dialect_web3