-
Notifications
You must be signed in to change notification settings - Fork 3
Update an existing contract on the account
MarshallBelles edited this page Oct 17, 2021
·
1 revision
Example:
use flow_rust_sdk::*;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut connection = FlowConnection::new("grpc://localhost:3569").await?;
let payer = "f8d6e0586b0a20c7";
let payer_private_key = "324db577a741a9b7a2eb6cef4e37e72ff01a554bdbe4bd77ef9afe1cb00d3cec";
let payer_private_key_id = 0;
let updated_contract = "
pub contract HelloWorld {
// Declare a stored state field in HelloWorld
//
pub let greeting: String
// Declare a function that can be called by anyone
// who imports the contract
//
pub fun hello(): String {
return self.greeting
}
init() {
self.greeting = \"Hello World Updated!\"
}
}
";
let send_transaction_response = connection.update_contract("HelloWorld", &hex::encode(updated_contract.to_owned()), payer, payer_private_key, payer_private_key_id).await?;
println!("Transaction sent: {:?}", &send_transaction_response);
let transaction_result = connection.get_transaction_result(send_transaction_response.id).await?;
println!("Transaction status: {:?}", &transaction_result.status);
println!("Transaction code: {:?}", &transaction_result.status_code);
Ok(())
}