create
create<
M>(options):Promise<LoadedContractFor<M>>
Defined in: src/Contract.ts:1452
Create a contract from individual providers without needing a Client.
This enables the “Delete-Client Test” — building a complete dApp by wiring module factories directly:
Type Parameters
M
M extends ContractModule<unknown, string>
Parameters
options
Returns
Promise<LoadedContractFor<M>>
Example
import * as Wallet from '@no-witness-labs/midday-sdk/Wallet';import * as Config from '@no-witness-labs/midday-sdk/Config';import * as Contract from '@no-witness-labs/midday-sdk/Contract';import * as PrivateState from '@no-witness-labs/midday-sdk/PrivateState';
const wallet = await Wallet.fromSeed(seed, networkConfig);const { walletProvider, midnightProvider } = wallet.providers();const publicDataProvider = Config.publicDataProvider(networkConfig);const privateStateProvider = PrivateState.inMemoryProvider();
const contract = await Contract.create({ path: './contracts/counter', walletProvider, midnightProvider, publicDataProvider, privateStateProvider, proofServerUrl: networkConfig.proofServer,});
await contract.deploy();await contract.actions.increment();Since
0.6.0