add readme
diff --git a/README.md b/README.md
index f74d1d2..22b7dea 100644
--- a/README.md
+++ b/README.md
@@ -387,3 +387,8 @@
   ./service/tools/kv/server_tools/start_kv_service.sh
   ```
 
+
+
+## Smart Contract ##
+If you want to use smart contracts, please go to:
+https://blog.resilientdb.com/2025/02/14/GettingStartedSmartContract.html
diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp
index cf29417..c587f59 100644
--- a/executor/kv/kv_executor.cpp
+++ b/executor/kv/kv_executor.cpp
@@ -43,7 +43,6 @@
     const google::protobuf::Message& request) {
   KVResponse kv_response;
   const KVRequest& kv_request = dynamic_cast<const KVRequest&>(request);
-  // LOG(ERROR)<<"execute request:";
 
   if (kv_request.cmd() == KVRequest::SET) {
     Set(kv_request.key(), kv_request.value());
@@ -95,6 +94,7 @@
     return nullptr;
   }
 
+  LOG(ERROR)<<" execute cmd:"<<kv_request.cmd();
   if (kv_request.cmd() == KVRequest::SET) {
     Set(kv_request.key(), kv_request.value());
   } else if (kv_request.cmd() == KVRequest::GET) {
@@ -135,10 +135,12 @@
 }
 
 void KVExecutor::Set(const std::string& key, const std::string& value) {
+  LOG(ERROR)<<" set key:"<<key;
   storage_->SetValue(key, value);
 }
 
 std::string KVExecutor::Get(const std::string& key) {
+  LOG(ERROR)<<" get key:"<<key;
   return storage_->GetValue(key);
 }