tp2 (2024-03-19)
The first Technology Preview of @solana/web3.js 2.0 was released at the Breakpoint conference in November 2023. Based on your feedback, we want to get a second version of it into your hands now with some changes, bug fixes, and new features.
To install the second Technology Preview:
npm install --save @solana/web3.js@tp2Most notably, this release integrates with the new JavaScript client generator for on-chain programs. Instruction creators and account decoders can now be autogenerated for any program, including your own! Read more here, and check out the growing list of autogenerated core programs here.
Try a demo of Technology Preview 2 in your browser at https://sola.na/web3tp2demo.
Changelog since Technology Preview 1
- Renamed
Base58EncodedAddresstoAddress(#1814) 63683a4bc - Renamed
Ed25519SignatureandTransactionSignaturetoSignatureBytesandSignature(#1815) 205c09268 - Fixed return type of
getSignaturesForAddress(#1821) 36c7263bd signTransactionnow asserts that the transaction is fully signed; addedpartiallySignTransactionthat does not (#1820) 7d54c2dad- The
@solana/webcrypto-ed25519-polyfillnow sets thecryptoglobal in Node 17a54d24a - Added
assertIsBlockhashLifetimeTransactionthat asserts transaction has a blockhash lifetime (#1908) ae94ca38d - Added a
createPrivateKeyFromByteshelper (#1913) 85b7dfe13 - Added
@solana/accounts; types and helper methods for representing, fetching and decoding Solana accounts (#1855) e1ca3966e - Export the TransactionError type (#1964) 4c009bf5b
- Export all RPC method XApi types from
@solana/rpc-core(#1965) ed98b3d9c - Added a generic
createJsonRpcApifunction for custom APIs 1e2106f21 - Added a generic
createJsonRpcSubscriptionsApifunction for custom APIs ae3f1f087 - RPC commitment now defaults to
confirmedwhen not explicitly specified cb7702ca5 - Added
ClusterUrltypes and handlers (#2084) 61f7ba0 - RPC transports can now be cluster-specific, ie.
RpcDevnet<TRpcMethods>&RpcSubscriptionsDevnet<TRpcMethods>(#2053) e58bb22, (#2056) cbf8f38 - RPC APIs can now be cluster-specific, ie.
SolanaRpcMethodsDevnet(#2054) 5175d8a - Added cluster-level RPC support for
@solana/web3.js(#2055) 5a6335d, (#2058) 0e03ca9 - Added
@solana/signers; an abstraction layer over signing messages and transactions in Solana (#1710) 7c29a1e - Updated codec such that only one instance of
Uint8Arrayis created when encoding data. This allowsEncodersto set data at different offsets and therefore enables non-linear serialization (#1865) 7800e3b - Added
FixedSize*andVariableSize*type variants forCodecs,EncodersandDecoders(#1883) 5e58d5c - Repaired some inaccurate RPC method signatures (#2137) bb65ba9
- Renamed transaction/airdrop sender factories with the ‘Factory’ suffix (#2130) 2d1d49c
- All code now throws coded exceptions defined in
@solana/errorswhich can be refined usingisSolanaError()and decoded in production usingnpx @solana/errors decode(#2160) 3524f2c, (#2161) 94944b, (#2213) 8541c2e, (#2220) c9b2705, (#2207) 75a18e3, (#2224) 613053d, (#2226) 94fee67, (#2228) 483c674, (#2235) 803b2d8, (#2236) cf9c20c, (#2242) 9084fdd, (#2245) e374ac6, (#2186) 546263e, (#2187) bea19d2, (#2188) 2e0ae95, (#2189) 7712fc3, (#2190) 7d67615, (#2191) 0ba8f21, (#2192) 91a360d, (#2202) a71a2db, (#2286) 52a5d3d, and more - You can now supply a custom Undici dispatcher for use with the
fetchAPI when creating an RPC transport in Node (#2178) a2fc5a3 - Added functions to assert a value is an
IInstructionWithAccountsand IInstructionWithData` (#2212) 07c30c1 - Added a function to assert an instruction is for a given program (#2234) fb655dd
- You can now create an RPC using only a URL (#2238) cd0b6c6, (#2239) fc11993
- You can now resize codec with the
resizeCodechelper (#2293) 606de63 - You can now skip bytes while writing byte buffers using the
offsetCodechelper (#2294) 09d8cc8 - You can now now pad the beginning or end of byte buffers using the
padLeftCodecandpadRightCodechelpers (#2314) f9509c7 - Added a new
@solana/sysvarspackage for fetching, decoding, and building transactions with sysvar accounts (#2041)